Thr*_*mon 6 knockout.js knockout-validation
我试图使用Knockout-Validation为我的一个observable添加一个简单的正则表达式验证.
我有以下内容:
self.ContactPhone = ko.observable().extend({
required: true,
pattern: {
message: 'Invalid phone number.',
params: '^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$'
}
});
Run Code Online (Sandbox Code Playgroud)
但是,无论我输入什么,它都会返回"无效的电话号码"消息.我需要以某种方式格式化表达式吗?我使用纯JavaScript测试它,它工作正常.
ant*_*hok 11
你需要转义反斜杠,否则javascript将你的一个反斜杠本身视为下一个字符的转义字符.这是因为这是一个字符串而不是正则表达式文字.
编辑:其实我只是检查了,你可以只使用正则表达式文字,所以其中任何一个都会这样做:
http://jsfiddle.net/antishok/ED3Mh/2/
self.ContactPhone = ko.observable().extend({
required: true,
pattern: {
message: 'Invalid phone number.',
params: /^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$/
}
});
Run Code Online (Sandbox Code Playgroud)
要么:
params: '^\\D?(\\d{3})\\D?\\D?(\\d{3})\\D?(\\d{4})$'
Run Code Online (Sandbox Code Playgroud)
如果您不必使用正则表达式,这是本机方式
self.ContactPhone = ko.observable().extend({ phoneUS : true });
Run Code Online (Sandbox Code Playgroud)
更多列在这里.
| 归档时间: |
|
| 查看次数: |
15304 次 |
| 最近记录: |