{"action":"created","issue":{"url":"https://api.github.com/repos/symfony/symfony/issues/28645","repository_url":"https://api.github.com/repos/symfony/symfony","labels_url":"https://api.github.com/repos/symfony/symfony/issues/28645/labels{/name}","comments_url":"https://api.github.com/repos/symfony/symfony/issues/28645/comments","events_url":"https://api.github.com/repos/symfony/symfony/issues/28645/events","html_url":"https://github.com/symfony/symfony/pull/28645","id":365207831,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE5MTk0NTAy","number":28645,"title":"[Validator] Standardize constraint validators","user":{"login":"ro0NL","id":1047696,"node_id":"MDQ6VXNlcjEwNDc2OTY=","avatar_url":"https://avatars0.githubusercontent.com/u/1047696?v=4","gravatar_id":"","url":"https://api.github.com/users/ro0NL","html_url":"https://github.com/ro0NL","followers_url":"https://api.github.com/users/ro0NL/followers","following_url":"https://api.github.com/users/ro0NL/following{/other_user}","gists_url":"https://api.github.com/users/ro0NL/gists{/gist_id}","starred_url":"https://api.github.com/users/ro0NL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ro0NL/subscriptions","organizations_url":"https://api.github.com/users/ro0NL/orgs","repos_url":"https://api.github.com/users/ro0NL/repos","events_url":"https://api.github.com/users/ro0NL/events{/privacy}","received_events_url":"https://api.github.com/users/ro0NL/received_events","type":"User","site_admin":false},"labels":[{"id":100378,"node_id":"MDU6TGFiZWwxMDAzNzg=","url":"https://api.github.com/repos/symfony/symfony/labels/Feature","name":"Feature","color":"02e10c","default":false},{"id":238909857,"node_id":"MDU6TGFiZWwyMzg5MDk4NTc=","url":"https://api.github.com/repos/symfony/symfony/labels/Status:%20Needs%20Work","name":"Status: Needs Work","color":"fad8c7","default":false},{"id":99599,"node_id":"MDU6TGFiZWw5OTU5OQ==","url":"https://api.github.com/repos/symfony/symfony/labels/Validator","name":"Validator","color":"DDDDDD","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/symfony/symfony/milestones/19","html_url":"https://github.com/symfony/symfony/milestone/19","labels_url":"https://api.github.com/repos/symfony/symfony/milestones/19/labels","id":3698991,"node_id":"MDk6TWlsZXN0b25lMzY5ODk5MQ==","number":19,"title":"4.2","description":"https://symfony.com/roadmap?version=4.2#checker","creator":{"login":"nicolas-grekas","id":243674,"node_id":"MDQ6VXNlcjI0MzY3NA==","avatar_url":"https://avatars3.githubusercontent.com/u/243674?v=4","gravatar_id":"","url":"https://api.github.com/users/nicolas-grekas","html_url":"https://github.com/nicolas-grekas","followers_url":"https://api.github.com/users/nicolas-grekas/followers","following_url":"https://api.github.com/users/nicolas-grekas/following{/other_user}","gists_url":"https://api.github.com/users/nicolas-grekas/gists{/gist_id}","starred_url":"https://api.github.com/users/nicolas-grekas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicolas-grekas/subscriptions","organizations_url":"https://api.github.com/users/nicolas-grekas/orgs","repos_url":"https://api.github.com/users/nicolas-grekas/repos","events_url":"https://api.github.com/users/nicolas-grekas/events{/privacy}","received_events_url":"https://api.github.com/users/nicolas-grekas/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":0,"state":"open","created_at":"2018-09-30T09:27:56Z","updated_at":"2018-10-01T20:10:07Z","due_on":"2018-11-30T08:00:00Z","closed_at":null},"comments":4,"created_at":"2018-09-30T09:10:06Z","updated_at":"2018-10-02T04:58:30Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/symfony/symfony/pulls/28645","html_url":"https://github.com/symfony/symfony/pull/28645","diff_url":"https://github.com/symfony/symfony/pull/28645.diff","patch_url":"https://github.com/symfony/symfony/pull/28645.patch"},"body":"| Q             | A\r\n| ------------- | ---\r\n| Branch?       | master\r\n| Bug fix?      | no\r\n| New feature?  | yes\r\n| BC breaks?    | no-ish\r\n| Deprecations? | no\r\n| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->\r\n| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->\r\n| License       | MIT\r\n| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->\r\n\r\nthere are subtle inconsistencies between constraint validators, esp. related to string values. I think we should tackle it, by taking away the boring stuff.\r\n\r\n- constraint type isnt always checked\r\n- casting objects to string doesnt always happen\r\n- checking empty string after casting doesnt always happen\r\n- the order of checks isnt always the same\r\n\r\nThis would help custom constraints, as well as core to e.g. deprecate empty string handling in a unified way (#28611)."},"comment":{"url":"https://api.github.com/repos/symfony/symfony/issues/comments/426149232","html_url":"https://github.com/symfony/symfony/pull/28645#issuecomment-426149232","issue_url":"https://api.github.com/repos/symfony/symfony/issues/28645","id":426149232,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNjE0OTIzMg==","user":{"login":"ro0NL","id":1047696,"node_id":"MDQ6VXNlcjEwNDc2OTY=","avatar_url":"https://avatars0.githubusercontent.com/u/1047696?v=4","gravatar_id":"","url":"https://api.github.com/users/ro0NL","html_url":"https://github.com/ro0NL","followers_url":"https://api.github.com/users/ro0NL/followers","following_url":"https://api.github.com/users/ro0NL/following{/other_user}","gists_url":"https://api.github.com/users/ro0NL/gists{/gist_id}","starred_url":"https://api.github.com/users/ro0NL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ro0NL/subscriptions","organizations_url":"https://api.github.com/users/ro0NL/orgs","repos_url":"https://api.github.com/users/ro0NL/repos","events_url":"https://api.github.com/users/ro0NL/events{/privacy}","received_events_url":"https://api.github.com/users/ro0NL/received_events","type":"User","site_admin":false},"created_at":"2018-10-02T04:58:30Z","updated_at":"2018-10-02T04:58:30Z","author_association":"CONTRIBUTOR","body":"@gmponos thanks :) i did it a bit quick to propose the idea... we talk about naming any time, but i think your suggestion is better yes.\r\n\r\ni like `assertConstraint() + getStringValue()` too :) i havent looked into all constraint yes, but we might add `getNumberValue()` as well (what's needed i'd say)."}}
{"actor":{"display_login":"ro0NL"}}