【问题标题】:How to add novalidate property to easyUI validatebox如何将 novalidate 属性添加到 easyUI 验证框
【发布时间】: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


【解决方案1】:

以下几行代码就可以解决问题。

对于验证框:

$('#Field ID').validatebox('disableValidation');

对于数字框:

$('#Field ID').numberbox('disableValidation');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    • 2013-06-07
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多