jQWidgets jqxValidator onError属性

jQWidgets是一个基于jQuery的现代UI框架,它包含了各种各样的UI组件,例如数据表格、日历等等。其中jqxValidator组件是用于表单验证的组件,它可以在用户提交表单前对表单的输入进行预处理和判断。在使用jqxValidator组件的过程中,广泛使用onError属性。接下来,我将详细讲解“jQWidgets jqxValidator onError属性”的完整攻略。

onError属性介绍

jqxValidator组件中的onError属性是用于在输入有误时进行处理的函数。当jqxValidator组件检测到用户输入有误时,会调用onError函数。这个函数可以是内部函数或外部定义函数。onError函数的默认返回值为false,如果返回false,则表单验证失败,不会提交给后端服务器,同时触发validationError事件。如果返回true则表单正常提交并触发validationSuccess事件。

onError属性语法说明

onError属性定义了一个函数,它将由jqxValidator组件在验证失败时调用。函数包含event参数。event参数中包含以下属性:

  • args: 错误信息对象,其中包括以下属性:
  • element: 所出错的元素。
  • message: 出错信息文本。
  • rule: 规则名称,其中包含有误的验证规则。
  • input: 所验证的输入元素。

属性语法如下所示:

$(selector).jqxValidator({
   rules: [
      { input: '#username', message: 'Username is required!', action: 'keyup, blur', rule: 'required' },
      { input: '#password', message: 'Password is required!', action: 'keyup, blur', rule: 'required' }
   ],
   onError: function(event) {
      // some code goes here
   }
});

在上面的示例中,我们定义了一个包含onError属性的jqxValidator实例,当该实例进行验证行为时,onError函数将会被调用。

onError属性示例1

下面我将通过一个示例来更具体的说明onError属性的使用。

假设我们需要对一个表单进行验证,表单中包含两个输入框:用户名和密码。其中用户名不能为空,密码长度必须大于4个字符。我们可以使用以下的jqxValidator实例:

$(selector).jqxValidator({
   rules: [
      { input: '#username', message: 'Username is required!', action: 'keyup, blur', rule: 'required' },
      { input: '#password', message: 'Password must have a length > 4!', action: 'keyup, blur', rule: 'length[4, 50]' }
   ],
   onError: function(event) {
      alert(event.args.message);
      $(event.args.element).addClass('error');
   }
});

在这个示例中,我们将onError函数定义为一个匿名函数。当表单验证失败时,将会弹出一个错误框,并将出错的输入元素添加error类名。

onError属性示例2

下面我们再来一个更复杂的例子,模拟Ajax异步验证。

在这个示例中,我们将用户名和密码的输入框的验证改为了异步验证。我们在验证开始时,显示了一个loading提示,当异步验证完成后,我们将取消loading提示。代码示例如下:

var usernameLoaded = false,
   passwordLoaded = false;

$(selector).jqxValidator({
   rules: [
      { input: '#username', message: 'Username is required!', action: 'keyup, blur', rule: 'required' },
      { input: '#password', message: 'Password must have a length > 4!', action: 'keyup, blur', rule: 'length[4, 50]' }
   ],

   onError: function(event) {
      // some code goes here
   },

   onInitInput: function (input) {
      $(input).addClass('jqx-validator-loading');
   },

   onValidationSuccess: function (event) {
      // do something
   },

   onValidationComplete: function (event) {
      $(selector).find('.jqx-validator-loading').removeClass('jqx-validator-loading');
   },

   onAsyncValidate: function (event) {
      var inputFieldId = event.data.name.split('|')[0];
      if (inputFieldId == 'username') {
         if (usernameLoaded) {
            event.response = true;
            event.owner.validate();
         } else {
            usernameLoaded = true;
            setTimeout(function () {
               event.response = 'Username already exists';
               event.owner.validate(false, inputFieldId);
            }, 1000);
         }
      } else if (inputFieldId == 'password') {
         if (passwordLoaded) {
            event.response = true;
            event.owner.validate();
         } else {
            passwordLoaded = true;
            setTimeout(function () {
               event.response = 'Password is too weak';
               event.owner.validate(false, inputFieldId);
            }, 1000);
         }
      }
   }
});

在这个示例中,我们定义了onInitInput回调函数,在验证开始时添加了一个loading类名,为每个验证的输入框创建了一个请稍等的效果。在onAsyncValidate回调函数中,我们模拟了异步验证的过程。在异步验证过程结束后,validate()方法会被调用,并再次验证输入框。最后,在onValidationComplete回调函数中,将移除所有loading类名。

至此,jqxValidator组件中的onError属性的完整攻略讲解结束。通过以上的详细讲解和示例应该可以更加清晰的理解和运用该属性了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQWidgets jqxValidator onError属性 - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • jQuery 取值、赋值的基本方法整理

    jQuery 是一个强大的 JavaScript 库,广泛应用于网页开发中。在 jQuery 中取值、赋值是开发中常见的操作。下面是 jQuery 取值、赋值的基本方法整理。 取值基本方法 在 jQuery 中,可以使用以下几种方式来取得 HTML 元素的值: 1. text() 方法 使用 text() 方法来获取元素的文本内容。 // HTML 结构:&…

    jquery 2023年5月28日
    00
  • easyui combotree加载静态数据问题(选不上)解决方法

    当使用EasyUI的combotree组件加载静态数据时,有时会出现选不上的问题。这个问题通常是由于数据格式、id值等原因所导致的。下面是解决这个问题的攻略: 1. 数据格式 首先,我们需要确保数据格式正确。使用combotree加载静态数据时,数据应该是一个JSON对象数组,每个对象至少包含id和text字段,用于表示节点的唯一标识和显示内容。例如: [{…

    jquery 2023年5月27日
    00
  • jquery的 filter()方法使用教程

    JQuery的filter()方法使用教程 定义 JQuery中的filter()方法是用于过滤元素集合的方法。它能够按照某些条件过滤集合中的元素,并返回一个新的元素集合。filter()方法可以接受一个函数作为参数,这个函数能够对集合中的每一个元素进行判断,符合条件的元素将会被加入到新的集合中。 语法 $(selector).filter(filterFu…

    jquery 2023年5月27日
    00
  • jQWidgets jqxSlider showButtons 属性

    jQWidgets是一个基于jQuery的UI框架,提供了丰富的UI组件和工具库,其中jqxSlider是其提供的一个滑块组件,支持单向或双向滑动,可以用于调整数值范围或音量等应用场景。在jqxSlider中,showButtons是一个常用的属性,用于决定是否显示滑块左右两侧的button按钮。 showButtons属性 showButtons是一个布尔…

    jquery 2023年5月11日
    00
  • 基于jQuery实现列表循环滚动小技巧(超简单)

    下面是“基于jQuery实现列表循环滚动小技巧(超简单)”的完整攻略。 1. 实现思路 本示例通过创建一个列表容器,实现循环滚动的效果,具体步骤如下: 创建一个列表容器,设置固定的宽度和高度; 将所有列表项(如<li>)添加到容器中,并通过样式设置它们的排列方式(如float); 使用setInterval()函数,每隔一定时间移动容器的位置(通…

    jquery 2023年5月28日
    00
  • jQWidgets jqxDocking disableWindowResize() 方法

    以下是关于“jQWidgets jqxDocking disableWindowResize() 方法”的完整攻略,包含两个示例说明: 方法简介 disableWindowResize() 是 jQWidgets jqxDocking 控件的一个方法用于禁用窗口的大小调整。该方法的语法如下: $("#jqxDocking").jqxDoc…

    jquery 2023年5月10日
    00
  • JSP下动态INCLUDE与静态INCLUDE的区别分析

    JSP下动态INCLUDE与静态INCLUDE的区别分析 在JSP页面中,我们可以使用include指令来包含其他页面。其中,include指令又分为动态INCLUDE和静态INCLUDE两种形式。本文将分析动态INCLUDE与静态INCLUDE的区别,并给出相应的示例。 一、动态INCLUDE 动态include语法 动态include语法如下: <…

    jquery 2023年5月27日
    00
  • jquery实现图片预加载

    当我们在网页中使用大量图片时,为避免用户在图片加载时出现空白的情况,我们可以采用图片预加载的技术。本文将详细讲解如何使用jQuery实现图片预加载。 步骤一:创建预加载列表 首先,我们需要创建一个列表,该列表将包含我们要预加载的所有图片。为了简化示例,我们在这里只预加载两张图片。 <ul id="imgList" style=&qu…

    jquery 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部