【Easyui】解决未对form表单数据进行校验直接就可以提交的问题

今天遇到了一个问题,完成登录和注册功能时,使用easyui的required:true,validType:'length[6,18]'等等各种校验textbox时,点击登录或者注册按钮,未输入任何值也能提交,然后后台报错。后来发现自己使用的按钮类型为submit,而且easyui并不主动提供校验form表单所有数据之后再提交的方法,但是有校验所有数据是否符合要求的方法。

解决这个问题首先要清楚,submit类型的按钮点击后直接就提交form表单了,但是button类型的按钮不会。所以解决思路是:可以先把submit改成button,然后给这个按钮添加一个点击事件,在这个点击事件中判断所有数据是否都符合自己定义的校验规则,符合的话将button改为submit,否则不改变,就一直无法提交。具体参考代码如下:

<div style="margin:20px 100px 10px 100px">
<input type="button" class="easyui-linkbutton" id="regButton" value="完成注册" 
style="padding:5px 0px;width:100%;font-size:20px;">
</div>
$("#regButton").click(function(){
 //registered为表单id。所有数据符合校验要求时,isValid 返回true。
     var isValid = $("#registered").form('validate');
     if(isValid){
          $("#regButton").attr("type","submit");
     }
});




猜你喜欢

转载自blog.csdn.net/sun337939896/article/details/79287239