{"action":"created","issue":{"url":"https://api.github.com/repos/virtool/virtool/issues/404","repository_url":"https://api.github.com/repos/virtool/virtool","labels_url":"https://api.github.com/repos/virtool/virtool/issues/404/labels{/name}","comments_url":"https://api.github.com/repos/virtool/virtool/issues/404/comments","events_url":"https://api.github.com/repos/virtool/virtool/issues/404/events","html_url":"https://github.com/virtool/virtool/issues/404","id":299890893,"number":404,"title":"Consistent input and form errors","user":{"login":"igboyes","id":5943558,"avatar_url":"https://avatars1.githubusercontent.com/u/5943558?v=4","gravatar_id":"","url":"https://api.github.com/users/igboyes","html_url":"https://github.com/igboyes","followers_url":"https://api.github.com/users/igboyes/followers","following_url":"https://api.github.com/users/igboyes/following{/other_user}","gists_url":"https://api.github.com/users/igboyes/gists{/gist_id}","starred_url":"https://api.github.com/users/igboyes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igboyes/subscriptions","organizations_url":"https://api.github.com/users/igboyes/orgs","repos_url":"https://api.github.com/users/igboyes/repos","events_url":"https://api.github.com/users/igboyes/events{/privacy}","received_events_url":"https://api.github.com/users/igboyes/received_events","type":"User","site_admin":false},"labels":[{"id":712679914,"url":"https://api.github.com/repos/virtool/virtool/labels/essential","name":"essential","color":"fbca04","default":false},{"id":718292473,"url":"https://api.github.com/repos/virtool/virtool/labels/in%20progress","name":"in progress","color":"5461b7","default":false},{"id":408877494,"url":"https://api.github.com/repos/virtool/virtool/labels/tweak","name":"tweak","color":"84b6eb","default":false}],"state":"open","locked":false,"assignee":{"login":"Miminko","id":29030929,"avatar_url":"https://avatars2.githubusercontent.com/u/29030929?v=4","gravatar_id":"","url":"https://api.github.com/users/Miminko","html_url":"https://github.com/Miminko","followers_url":"https://api.github.com/users/Miminko/followers","following_url":"https://api.github.com/users/Miminko/following{/other_user}","gists_url":"https://api.github.com/users/Miminko/gists{/gist_id}","starred_url":"https://api.github.com/users/Miminko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Miminko/subscriptions","organizations_url":"https://api.github.com/users/Miminko/orgs","repos_url":"https://api.github.com/users/Miminko/repos","events_url":"https://api.github.com/users/Miminko/events{/privacy}","received_events_url":"https://api.github.com/users/Miminko/received_events","type":"User","site_admin":false},"assignees":[{"login":"Miminko","id":29030929,"avatar_url":"https://avatars2.githubusercontent.com/u/29030929?v=4","gravatar_id":"","url":"https://api.github.com/users/Miminko","html_url":"https://github.com/Miminko","followers_url":"https://api.github.com/users/Miminko/followers","following_url":"https://api.github.com/users/Miminko/following{/other_user}","gists_url":"https://api.github.com/users/Miminko/gists{/gist_id}","starred_url":"https://api.github.com/users/Miminko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Miminko/subscriptions","organizations_url":"https://api.github.com/users/Miminko/orgs","repos_url":"https://api.github.com/users/Miminko/repos","events_url":"https://api.github.com/users/Miminko/events{/privacy}","received_events_url":"https://api.github.com/users/Miminko/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/virtool/virtool/milestones/9","html_url":"https://github.com/virtool/virtool/milestone/9","labels_url":"https://api.github.com/repos/virtool/virtool/milestones/9/labels","id":3140355,"number":9,"title":"v2.2.0","description":"","creator":{"login":"igboyes","id":5943558,"avatar_url":"https://avatars1.githubusercontent.com/u/5943558?v=4","gravatar_id":"","url":"https://api.github.com/users/igboyes","html_url":"https://github.com/igboyes","followers_url":"https://api.github.com/users/igboyes/followers","following_url":"https://api.github.com/users/igboyes/following{/other_user}","gists_url":"https://api.github.com/users/igboyes/gists{/gist_id}","starred_url":"https://api.github.com/users/igboyes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igboyes/subscriptions","organizations_url":"https://api.github.com/users/igboyes/orgs","repos_url":"https://api.github.com/users/igboyes/repos","events_url":"https://api.github.com/users/igboyes/events{/privacy}","received_events_url":"https://api.github.com/users/igboyes/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2018-02-24T00:26:17Z","updated_at":"2018-02-27T21:52:08Z","due_on":"2018-03-10T08:00:00Z","closed_at":null},"comments":1,"created_at":"2018-02-24T00:25:38Z","updated_at":"2018-02-27T23:14:59Z","closed_at":null,"author_association":"OWNER","body":"Develop consistent standard for styling form and input errors.\r\n\r\n#### Error Types\r\n1. Input error\r\n- specific input values are unacceptable\r\n- errors appear the same whether they where generated on the client or server\r\n- deprecate `<Popover />`-based errors\r\n\r\n2. Form error\r\n- form input taken as a whole is invalid\r\n- example is incorrect username and password\r\n- display of error makes it obvious it applies to the whole form\r\n\r\n#### Style Ideas\r\n- no validation icons necessary\r\n- apply color to input element border\r\n- position input-specific errors below bottom-left or -right corner of input\r\n- make it obvious form errors apply to whole form\r\n- take a look at [HTML5 validation](https://pageclip.co/blog/2018-02-20-you-should-use-html5-form-validation.html)\r\n\r\n#### To Do\r\n- modify base `<Input />` to easily add error messages to component\r\n- make sure changes to `<Input />` are compatible with `<InputSave />`\r\n- make all occurences of `<Input />` in the app consistently styled"},"comment":{"url":"https://api.github.com/repos/virtool/virtool/issues/comments/369061698","html_url":"https://github.com/virtool/virtool/issues/404#issuecomment-369061698","issue_url":"https://api.github.com/repos/virtool/virtool/issues/404","id":369061698,"user":{"login":"Miminko","id":29030929,"avatar_url":"https://avatars2.githubusercontent.com/u/29030929?v=4","gravatar_id":"","url":"https://api.github.com/users/Miminko","html_url":"https://github.com/Miminko","followers_url":"https://api.github.com/users/Miminko/followers","following_url":"https://api.github.com/users/Miminko/following{/other_user}","gists_url":"https://api.github.com/users/Miminko/gists{/gist_id}","starred_url":"https://api.github.com/users/Miminko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Miminko/subscriptions","organizations_url":"https://api.github.com/users/Miminko/orgs","repos_url":"https://api.github.com/users/Miminko/repos","events_url":"https://api.github.com/users/Miminko/events{/privacy}","received_events_url":"https://api.github.com/users/Miminko/received_events","type":"User","site_admin":false},"created_at":"2018-02-27T23:14:59Z","updated_at":"2018-02-27T23:14:59Z","author_association":"MEMBER","body":"- the create user form also allows blank entries that cannot be later edited/deleted"}}
{"actor":{"display_login":"Miminko"}}