【问题标题】:Angular JSON Schema pattern for 12 digit number not working12位数字的角度JSON模式模式不起作用
【发布时间】:2018-03-27 10:44:16
【问题描述】:

我在我的项目中使用 Angular JSON Schema,我想使用模式验证文本框。我不能使用 maxLength 属性。

"[\\d+]{12} 

JSON Schema 在内部删除了额外的 \

问题在于它没有将输入限制为 12 位,如果我添加更多数字使其变为 13,14 甚至更大的数字,它仍然有效,直到我输入 12 位才有效有效

这里是 Angular JSON Schema Playground 的链接

https://angular2-json-schema-form.firebaseapp.com/?set=asf&example=asf-simple&framework=bootstrap-3&language=en

【问题讨论】:

    标签: angular jsonschema json-schema-validator


    【解决方案1】:

    你可以使用:

    pattern="[0-9]{0,12}" // for 0 or to 12 number
    
    pattern="[0-9]{12}" // for exact 12 digit number validation
    

    WORKING DEMO

    对于 Angular JSON Schema Playground,您应该使用 ^$

    pattern="^[0-9]{0,12}$" // for 0 or to 12 number
    
    pattern="^[0-9]{12}$" // for exact 12 digit number validation
    

    【讨论】:

    • Yours 和我的一样是有效的正则表达式,但问题是它在 Angular JSON Schema 中不起作用。您可以在给定的链接中尝试
    • @curiosa ,我已经尝试过我的,它在 "pattern": "[0-9]{0,12}","pattern": "[0-9]{12}", 上都可以正常工作
    • 您给出的演示是普通的 angularjs,问题出在 angular-json-schema 中。它是一个表单构建器和验证器库github.com/json-schema-form/angular-schema-form
    • @curiosa,我已经在你给定的网址上测试了JSON Schema playground,我已经改变了那里的模式并测试了代码,它正在工作。
    • 您可以将"pattern": "[0-9]{0,12}",添加到schema.properties.name并进行测试
    猜你喜欢
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多