{"action":"created","issue":{"url":"https://api.github.com/repos/mitodl/micromasters/issues/1611","repository_url":"https://api.github.com/repos/mitodl/micromasters","labels_url":"https://api.github.com/repos/mitodl/micromasters/issues/1611/labels{/name}","comments_url":"https://api.github.com/repos/mitodl/micromasters/issues/1611/comments","events_url":"https://api.github.com/repos/mitodl/micromasters/issues/1611/events","html_url":"https://github.com/mitodl/micromasters/pull/1611","id":186381259,"number":1611,"title":"Add inline-validation","user":{"login":"aliceriot","id":6207644,"avatar_url":"https://avatars.githubusercontent.com/u/6207644?v=3","gravatar_id":"","url":"https://api.github.com/users/aliceriot","html_url":"https://github.com/aliceriot","followers_url":"https://api.github.com/users/aliceriot/followers","following_url":"https://api.github.com/users/aliceriot/following{/other_user}","gists_url":"https://api.github.com/users/aliceriot/gists{/gist_id}","starred_url":"https://api.github.com/users/aliceriot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aliceriot/subscriptions","organizations_url":"https://api.github.com/users/aliceriot/orgs","repos_url":"https://api.github.com/users/aliceriot/repos","events_url":"https://api.github.com/users/aliceriot/events{/privacy}","received_events_url":"https://api.github.com/users/aliceriot/received_events","type":"User","site_admin":false},"labels":[{"id":335628406,"url":"https://api.github.com/repos/mitodl/micromasters/labels/Waiting%20on%20Author","name":"Waiting on Author","color":"d4c5f9","default":false}],"state":"open","locked":false,"assignee":{"login":"noisecapella","id":863262,"avatar_url":"https://avatars.githubusercontent.com/u/863262?v=3","gravatar_id":"","url":"https://api.github.com/users/noisecapella","html_url":"https://github.com/noisecapella","followers_url":"https://api.github.com/users/noisecapella/followers","following_url":"https://api.github.com/users/noisecapella/following{/other_user}","gists_url":"https://api.github.com/users/noisecapella/gists{/gist_id}","starred_url":"https://api.github.com/users/noisecapella/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noisecapella/subscriptions","organizations_url":"https://api.github.com/users/noisecapella/orgs","repos_url":"https://api.github.com/users/noisecapella/repos","events_url":"https://api.github.com/users/noisecapella/events{/privacy}","received_events_url":"https://api.github.com/users/noisecapella/received_events","type":"User","site_admin":false},"assignees":[{"login":"noisecapella","id":863262,"avatar_url":"https://avatars.githubusercontent.com/u/863262?v=3","gravatar_id":"","url":"https://api.github.com/users/noisecapella","html_url":"https://github.com/noisecapella","followers_url":"https://api.github.com/users/noisecapella/followers","following_url":"https://api.github.com/users/noisecapella/following{/other_user}","gists_url":"https://api.github.com/users/noisecapella/gists{/gist_id}","starred_url":"https://api.github.com/users/noisecapella/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noisecapella/subscriptions","organizations_url":"https://api.github.com/users/noisecapella/orgs","repos_url":"https://api.github.com/users/noisecapella/repos","events_url":"https://api.github.com/users/noisecapella/events{/privacy}","received_events_url":"https://api.github.com/users/noisecapella/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2016-10-31T19:55:07Z","updated_at":"2016-11-02T18:41:31Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mitodl/micromasters/pulls/1611","html_url":"https://github.com/mitodl/micromasters/pull/1611","diff_url":"https://github.com/mitodl/micromasters/pull/1611.diff","patch_url":"https://github.com/mitodl/micromasters/pull/1611.patch"},"body":"#### What are the relevant tickets?\r\n\r\nthis closes #1510 \r\n\r\n#### What's this PR do?\r\n\r\nThis implements inline-validation, so that all profile fields are validated in-line as the user fills them out, instead of waiting until the user presses save the first time to start doing validation.\r\n\r\n#### How should this be manually tested?\r\n\r\nOK it's a bit tricky. But basically, on `/profile` and `/learner` all profile fields (including on education and work history) should validate as-you-type, so that, for instance:\r\n\r\n- if you tab to the first input (first name) and delete the input and tab away you should see a validation error\r\n- if you click 'save' on `/profile` with a blank profile you should see all validation messages appear, which will disappear as you deal with them.\r\n- in general, errors should disappear as you fix them\r\n- fancier date valiation (like start date cannot be before end date) should happen in-line as well.\r\n\r\nThere are probably edge cases! Let's find them!\r\n\r\n#### Any background context you want to provide?\r\n\r\n#### Screenshots (if appropriate)\r\n\r\n#### What GIF best describes this PR or how it makes you feel?\r\n"},"comment":{"url":"https://api.github.com/repos/mitodl/micromasters/issues/comments/257960604","html_url":"https://github.com/mitodl/micromasters/pull/1611#issuecomment-257960604","issue_url":"https://api.github.com/repos/mitodl/micromasters/issues/1611","id":257960604,"user":{"login":"noisecapella","id":863262,"avatar_url":"https://avatars.githubusercontent.com/u/863262?v=3","gravatar_id":"","url":"https://api.github.com/users/noisecapella","html_url":"https://github.com/noisecapella","followers_url":"https://api.github.com/users/noisecapella/followers","following_url":"https://api.github.com/users/noisecapella/following{/other_user}","gists_url":"https://api.github.com/users/noisecapella/gists{/gist_id}","starred_url":"https://api.github.com/users/noisecapella/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/noisecapella/subscriptions","organizations_url":"https://api.github.com/users/noisecapella/orgs","repos_url":"https://api.github.com/users/noisecapella/repos","events_url":"https://api.github.com/users/noisecapella/events{/privacy}","received_events_url":"https://api.github.com/users/noisecapella/received_events","type":"User","site_admin":false},"created_at":"2016-11-02T18:41:31Z","updated_at":"2016-11-02T18:41:31Z","body":"I think everything's still working fine :+1: "}}
{"actor":{"display_login":"noisecapella"}}