{"data":{"id":"magento2-33470","source":"github-pr","sourceRef":"magento/magento2#33470","title":"Fix validate-emails rule for ui component","pr":{"number":33470,"url":"https://github.com/magento/magento2/pull/33470","author":"tuanpht","mergedAt":"2025-08-04T15:15:50Z","mergeCommit":"18c39ce371ef2ef1966cb5a41ae07702ce5b3863","headCommit":"eab5e9be41e233591a817abc3413460540bfc8b9","baseRef":"2.4-develop","diffSha256":"1b08f66e98c8086e34cb14917ca63981f38ba5afca8804def6e5b6e672a9f7fc"},"issues":[{"number":38528,"url":"https://github.com/magento/magento2/issues/38528","title":"[Issue] Fix validate-emails rule for ui component","labels":["Area: Framework","Component: UiComponents","Issue: Confirmed","Priority: P3","Progress: PR in progress","Progress: done","Reproduced on 2.4.x","Triage: Dev.Experience"],"kind":"pr-derived"}],"fixedIn":"2.4.9","containingTags":["2.4.9"],"reportedOn":null,"codeMatch":{"2.4.6":"conflict","2.4.6-p1":"conflict","2.4.6-p2":"conflict","2.4.6-p3":"conflict","2.4.6-p4":"conflict","2.4.6-p5":"conflict","2.4.6-p6":"conflict","2.4.6-p7":"conflict","2.4.6-p8":"conflict","2.4.6-p9":"conflict","2.4.6-p10":"conflict","2.4.6-p11":"conflict","2.4.6-p12":"conflict","2.4.6-p13":"conflict","2.4.6-p14":"conflict","2.4.6-p15":"conflict","2.4.7":"conflict","2.4.7-p1":"conflict","2.4.7-p2":"conflict","2.4.7-p3":"conflict","2.4.7-p4":"conflict","2.4.7-p5":"conflict","2.4.7-p6":"conflict","2.4.7-p7":"conflict","2.4.7-p8":"conflict","2.4.7-p9":"conflict","2.4.7-p10":"conflict","2.4.8":"clean","2.4.8-p1":"clean","2.4.8-p2":"clean","2.4.8-p3":"clean","2.4.8-p4":"clean","2.4.8-p5":"clean","2.4.9":"conflict"},"affectedVersions":["2.4.8","2.4.8-p1","2.4.8-p2","2.4.8-p3","2.4.8-p4","2.4.8-p5"],"components":["magento/module-ui"],"files":[{"path":"app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js","change":"modified","package":"magento/module-ui"}],"stripped":{"tests":[],"docs":[],"outsideCode":[]},"linesChanged":10,"mergeBatched":true,"excluded":null,"sections":{"description":"Fix validation rule `validate-emails` for using in ui-component:\n- Fix wrong method `strip()` => `trim()`\n- Sync logic with `lib/web/mage/validation.js`","stepsToReproduce":null,"expectedResult":null,"actualResult":null,"source":"pr"},"signatures":[],"labels":{"area":["Framework"],"component":["UiComponents"],"priority":"P3","severity":null,"reportedOn":[]},"categories":[],"triage":{"model":"@cf/cloudflare/clef","requestHash":"7c25c55e64b8aa3cdf95ebe00fd7b7ec3278daaefc91760ec3e785824174b7b2","isBugfix":0.9675,"changeKind":{"choice":"bugfix","probabilities":{"bugfix":0.9712,"feature":0.0053,"refactor":0.013,"tests_only":0.0043,"docs_only":0.0031,"dependency":0.0031},"confidence":0.9322},"scope":{"score":0.5111,"probabilities":{"0":0.5384,"1":0.4122,"2":0.0494},"confidence":0.1933},"risk":{"score":0.4273,"probabilities":{"0":0.5913,"1":0.3901,"2":0.0186},"confidence":0.2532},"area":{"choice":"admin","probabilities":{"catalog":0.0086,"checkout":0.007,"customer":0.0072,"admin":0.6438,"graphql_api":0.0037,"framework":0.1965,"frontend":0.1157,"other":0.0175},"confidence":0.3908},"securityRelevant":0.0093,"reportedVersion":{"choice":"unspecified","probabilities":{"2.4.0":0.0048,"2.4.0-p1":0.0065,"2.4.1":0.0074,"2.4.1-p1":0.0078,"2.4.2":0.0126,"2.4.2-p1":0.0136,"2.4.2-p2":0.0151,"2.4.3":0.0219,"2.4.3-p1":0.0218,"2.4.3-p2":0.0191,"2.4.3-p3":0.0108,"2.4.4":0.026,"2.4.4-p1":0.0268,"2.4.4-p10":0.0092,"2.4.4-p11":0.0105,"2.4.4-p12":0.0089,"2.4.4-p13":0.0079,"2.4.4-p14":0.0103,"2.4.4-p15":0.0072,"2.4.4-p16":0.0077,"2.4.4-p17":0.0073,"2.4.4-p18":0.0064,"2.4.4-p2":0.0042,"2.4.4-p3":0.0049,"2.4.4-p4":0.0056,"2.4.4-p5":0.0079,"2.4.4-p6":0.0075,"2.4.4-p7":0.0061,"2.4.4-p8":0.0071,"2.4.4-p9":0.0057,"2.4.5":0.0149,"2.4.5-p1":0.0133,"2.4.5-p10":0.0065,"2.4.5-p11":0.0089,"2.4.5-p12":0.0088,"2.4.5-p13":0.0083,"2.4.5-p14":0.0078,"2.4.5-p15":0.0065,"2.4.5-p16":0.0073,"2.4.5-p17":0.0068,"2.4.5-p2":0.0046,"2.4.5-p3":0.0055,"2.4.5-p4":0.0067,"2.4.5-p5":0.0068,"2.4.5-p6":0.0077,"2.4.5-p7":0.0068,"2.4.5-p8":0.0059,"2.4.5-p9":0.0044,"2.4.6":0.0184,"2.4.6-p1":0.0154,"2.4.6-p10":0.0064,"2.4.6-p11":0.009,"2.4.6-p12":0.0077,"2.4.6-p13":0.0082,"2.4.6-p14":0.0072,"2.4.6-p15":0.0055,"2.4.6-p2":0.0049,"2.4.6-p3":0.0071,"2.4.6-p4":0.01,"2.4.6-p5":0.0069,"2.4.6-p6":0.0075,"2.4.6-p7":0.0077,"2.4.6-p8":0.0062,"2.4.6-p9":0.0045,"2.4.7":0.008,"2.4.7-p1":0.0076,"2.4.7-p10":0.0056,"2.4.7-p2":0.0053,"2.4.7-p3":0.0081,"2.4.7-p4":0.0104,"2.4.7-p5":0.01,"2.4.7-p6":0.0119,"2.4.7-p7":0.0085,"2.4.7-p8":0.0066,"2.4.7-p9":0.0041,"2.4.8":0.008,"2.4.8-p1":0.0076,"2.4.8-p2":0.0084,"2.4.8-p3":0.0094,"2.4.8-p4":0.0093,"2.4.8-p5":0.009,"2.4.9":0.0079,"unspecified":0.2656},"confidence":0.0676},"backportWorthy":{"score":1.4571,"probabilities":{"0":0.1408,"1":0.2613,"2":0.5979},"confidence":0.1684}},"curated":{"title":"Fixes the validate-emails rule in UI components using a wrong method","description":"The validate-emails validation rule in Ui rules.js uses the wrong method strip() and its logic is not in sync with lib/web/mage/validation.js. Now trim() is used and the logic, emails pattern included, is in sync with validation.js.","categories":[],"author":"claude-code/opus-5.5","date":"2026-10-06","reviewedBy":null},"tests":null},"_documentation":"https://magento.watch/api","_description":"Upstream fix magento2-33470 details"}