angularjs - 带有隐藏字段和角度验证插件的 ui-select 验证
问题描述
好吧,我的表单中有一个隐藏字段并试图验证该ui-select
元素。我正在使用Angular-Validation插件,它依赖于jQuery Validate插件。在提交时它显示错误标签,但是当隐藏字段从 中获取它的值时ng-model
,仍然显示错误并且我无法提交表单。
这是html
<ui-select ng-model="noPostData.locaopt.id" theme="selectize">
<ui-select-match placeholder="Select Location">
{{$select.selected.name}}
</ui-select-match>
<ui-select-choices repeat="obj.id as obj in locaoptions | filter: {name: $select.search}">
<div ng-bind-html="obj.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
<input type="hidden" name="subloc_loca" ng-model="noPostData.locaopt.id">
这是选项
$scope.validationOptions={
ignore: [],
rules: {
subloc_loca: {
required: true
},
message: {
subloc_loca: {
required: "Select location"
},
}
}
如果隐藏字段正在获取其值,为什么错误标签不会消失。为什么会发生这种情况,我该如何实现。请帮我
解决方案
通常,在图形元素替换默认值的这些情况下,您必须发挥创造力。在这种情况下input type="hidden"
,可能会替换select
. 由于 jQuery Validate 不会在隐藏元素的值更改时自动触发,因此您必须自己以编程方式触发。
编写一个处理程序,强制验证包含您的值的隐藏元素。
$('#Your-Graphical-Select-Element').on('focusout', function() {
$('[name="subloc_loca"]').valid(); // force validation test
});
推荐阅读
- python - 使用外部应用程序更新记录
- sql-server - 为什么我得到的数据比我应该得到的多?
- python - 浏览器无法连接到 django web 服务器
- java - 大字符串中最长的重复且不重叠的子字符串
- javascript - 如何处理浏览器中依赖项的 ESM 依赖项(没有 UMD)?
- gulp - Gulp 错误 - “ReferenceError:未定义系列”
- apache-camel - 骆驼处理后通过 SFTP 移动文件是否有文件大小限制?
- sqlite - 加密 SQLite3 数据库的密码限制是什么?
- python - 如何在matplotlib的主图之外绘制箭头和矩形(用于蛋白质sec结构)?
- amazon-web-services - 归档 dynamodb 记录的最佳方式?