【发布时间】:2014-01-30 07:21:40
【问题描述】:
我正在尝试将 novalidate 属性设置为 Jquery 的 (document).ready() 方法中的 easyUI 验证框,代码如下:
$('#fieldId').attr('novalidate',true);
但它没有执行请帮我找到设置属性的方法。
注意
我正在使用最新的 easyUI 库进行表单验证。当我将属性设置在
data-options="novalidate:true",表单验证代码$(this).form('validate');不会验证相应的表单字段。
谢谢。
部分 HTML 代码:
列出的几个字段从数据库中获取值,并且字段将被用户禁用。
<input type="text" id="field1" class="easyui-validatebox" required="true" data-options="validType:'justText'">
<input type="text" id="field2" class="easyui-validatebox" data-options="validType:'justText'">
<input type="text" id="field3" class="easyui-validatebox" required="true" data-options="validType:'justText'">
<input type="text" id="field4" class="easyui-validatebox" required="true" data-options="validType:'justText'">
<input type="text" id="field5" class="easyui-validatebox" required="true" data-options="validType:'justText'">
<input type="text" id="field6" class="easyui-numberbox" data-options="precision:1,validType:'correctValue'" required="true">
<input type="text" id="field7" class="easyui-numberbox" required="true" data-options="validType:'minLength[10]',prefix:0">
同样,我有用户必须输入值的字段。
<input type="date" id="field11" class="easyui-datebox" data-options="formatter:myformatter,parser:myparser,validType:'isAfterToday',required:true">
<input type="date" id="field13" class="easyui-datebox" data-options="formatter:myformatter,parser:myparser,validType:'isApproved[field11]',required:true">
在表单加载时,我将禁用如下所示的字段:
window.onload = function() {
document.getElementById('field1').disabled=true;
document.getElementById('field1').value='Ravi';
document.getElementById('field2').disabled=true;
document.getElementById('field2').value='cn';
document.getElementById('field3').disabled=true;
document.getElementById('field3').value='KM';
document.getElementById('field4').disabled=true;
document.getElementById('field4').value='Software Engineer';
}
然后用户必须在提交表单时输入启用字段的值,它应该验证表单。
我的表单发生的情况是,如果我启用字段,表单验证成功,否则表单验证返回 false。
如果我将属性 novalidate:true 添加到禁用的字段表单验证成功,即使字段被禁用。禁用和启用取决于用户访问权限,因此我可以将此属性设置为静态。它必须是动态的。
<input type="text" id="field2" class="easyui-validatebox" data-options="validType:'justText',novalidate:true">
表单验证码
$('#ff').form({
onSubmit:function() {
var isValid = $(this).form('validate');
if(isValid){
alert('true');
}else {
alert('false');
}
});
【问题讨论】:
-
Else 提供一个解决方案来限制禁用表单字段的验证。
标签: javascript jquery validation jquery-easyui