从.html文件中敲除js验证错误消息
KnockoutJs validation error message from .html file
我有一个关于KnockoutJs html5验证的问题。
如果我想在页面上包含我的错误信息,当它被加载,就像说我正在做一个前端模块为我的网店和我的错误信息来自标签。
在knockoutJS 2.2.1中,我可以这样做:
<span data-bind="validationMessage: firstName, text: 'Your error.'"></span>
<input data-bind='value: firstName, valueUpdate: "input"' required pattern="^[A-Za-z]{1,255}$" />
这将工作得很好,我可以将我的errortag从HTML文件粘贴到HTML页面中。就像这把小提琴一样。http://jsfiddle.net/elbecita/gt228dgm/4/但是现在的问题是,在knockoutjs 3.0 f.ex下运行相同的代码。错误消息将是"这个字段是必需的。"
所以现在我不能覆盖自定义消息不再做。extend(),这是有意的,我使用这个完全错误吗?
一个gif来说明这个问题:http://puu.sh/kHJH3/92a2708c93.gif
我在stackoverflow上发现了一个类似的问题,一些解决方案似乎有些过火,但也许有一个原因?
在html中设置错误消息与knockout验证这没有任何可接受的答案,所以我的问题是我如何在html中粘贴我的错误消息?
任何意见都非常感谢,谢谢。
*(如果我错过了任何信息请让我知道,第一个帖子长时间潜伏)
验证可以有多个独立的消息,因此消息的内容不受您的控制是有道理的。您可以选择它们显示的位置,但不必担心它们说了什么。我可以看到,您可能希望拦截标准消息并将其转换为自定义消息。您可以这样做,但它不是内置到验证(据我所知)。
viewModel.errors = ko.validation.group(viewModel);
var messageSubstitutes = {
'Invalid.': 'All letters',
'This field is required.': 'Try some letters'
};
viewModel.errMsg = ko.computed(function () {
var errs = viewModel.errors();
if (errs.length === 0) return null
var errMsg = errs[0](),
result = messageSubstitutes[errMsg];
return result;
});
和HTML只是:
<legend data-bind="if:errMsg">Error: <span data-bind="text:errMsg"></span>
</legend>
<label>First name:
<input data-bind='value: firstName, valueUpdate: "input"' required pattern="^[A-Za-z]{1,255}$" />
</label>
更新小提琴
相关文章:
- JS验证ajax返回的html中的表单数据
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- validate.js验证数组元素
- sinon.js验证mock方法's带回调的参数
- 如何使用angular js验证ionic中的表单
- 表单元素值更改后的角度 JS 验证
- JS验证后空联系表单
- 使用parsley.js验证动态创建的字段
- 使用Angular.js验证表单输入的原始状态
- Angular.js验证消息未显示
- Magento-全局添加额外的js验证规则
- 如何使用angular js验证器执行下拉控件验证
- 使用javascript gen_validatorv4.js验证表单字段
- 当 openssl 命令行验证签名时,节点.js验证函数不会验证签名
- JS验证在正常速度下失败,但在单步执行代码时有效
- 欧芹.js验证未触发
- JS验证错误,表单仍在提交
- Angular Js:验证表中的重复对象键
- 使用角度 js 验证电话号码
- Yii2 - i18n 表示 js 验证消息中的 {属性}