• 自学MVC(三):郁闷的表单验证2009年05月04日


     今天竟然花了一整天做表单验证,真是很搞笑,我一时想自己写表单的js验证,可写了一长段后又懒得写下去了.
        然后我又想用jquery 里的validate插件,但是样式和特效又和我的代码有冲突.
        就这样反反复复折腾来折腾去,最后累了,索性不管样式了,用validate插件写出了客户端验证,前后花了不到10分钟.
       总结教训就是:1.解决问题抓住主要矛盾
                                  2.不要反反复复,纯粹是浪费时间,选定一种方案就坚持下去,不然纯粹折磨自己.
                                  3.juery 的validate插件还是很不错的,就是初开始用不习惯,有点学习成本.还有自己设定样式有点难
       mvc里的表单用不上验证控件了,觉得很不方便,以后还是选定juery 插件,这样便于快速开发.
       ps:早上总算折腾好了,JS脚本如下:
      <script type="text/javascript">
        $().ready(function() {
            $("#frmReg").validate(
            {
                errorElement: "reg",  /* 插件会自动在文本框后生成一个label,取标记名为'reg',这样可以用 reg.success{}来控制样式,记住reg.success之间不要留空格*/
                success: function(label) {
                    label.text(" ").addClass("success");
                },
                rules: {
                    username: {
                        required: true,
                        minlength: 2,
                        maxlength:16
                    },
                    email:{required:true,email:true},
                    password: {
                        required: true,
                        minlength: 6,
                        maxlength:16
                    },
                    confirmPassword:{required:true, equalTo: "#password"},
                    validate:{required:true}
                  
                }

            }
            );
        });
    </script>


    html代码:
    <form action="/Account/Register" method="post" id="frmReg">
    <div class="left">
      <div class="leadInfo">请填写以下信息,全部为必填:</div>
      <div class="userInput">
       <ul class="userInfo">
            <li><span class="label">帐号:</span><input name="username" id="username"  title="中英文均可 不超过8个汉字或16个字符"/></li>
         <li><span class="label">Email帐号:</span><input name="email" id="email"  title="请输入Email"/></li>
              <li><span class="label">登录密码:</span><input type="password" name="password" id="password"  title="请输入6至16位数字或字母"/></li>
        <li><span class="label">重填密码:</span><input type="password" name="confirmPassword" id="confirmPassword"  title="请重复上面的密码"/></li>
        <li>
         <div><span class="label">验证码:</span><input name="validate"  id="validate" title="请输入下面图片上的数字"/></div>
         <br /><span class="moreInfo">看不清<a href="javascript:refresh_captcha()">点此刷新</a> </span>
         <img id="captchaImage" name="captchaImage" src="/validate/VerifyCodeImage.aspx" align="absmiddle" />
        </li>
       </ul>
      </div>
      <div class="c_gray" align="center">Email帐号及昵称,注册后不能修改,请仔细核对。</div><br />
      <div class="userAction">
          <input name="Submit" id="submit" type="submit" value="完成注册" tabindex="7" class="btnNormal" />
                  <input type="reset" id="reset" value="重填" tabindex="8" class="btnNormal" />
      </div>
          <div class="leadInfo">已经注册,<%= Html.ActionLink("请登陆","LogOn") %></div>
        
      <input type='hidden' name="gender" value="-1" />
      <input type='hidden' name="city" value="35" />
      <input type='hidden' name="cburl" value="" />
    </div>
    </form>
       本文版权属于王传炜所有,首发http://www.cnblogs.com/,转载请注明出处。
  • 相关阅读:
    夺命雷公狗---微信开发22----微信客户端下载多媒体文件
    夺命雷公狗---微信开发21----通过程序进行下载多媒体文件
    夺命雷公狗---微信开发20----编写程序进行上传多媒体文件
    夺命雷公狗---微信开发19----使用网页调试工具调试该接口进行文件的上传与下载
    夺命雷公狗---微信开发18----删除自定义菜单
    夺命雷公狗---微信开发17----自定义菜单的事件推送,响应菜单的CLICK
    夺命雷公狗---微信开发16----自定义菜单的查询
    夺命雷公狗---微信开发15----编写进行创建自定义菜单
    夺命雷公狗---微信开发14----用网页调试工具调试自定义菜单接口
    夺命雷公狗---微信开发13----获取access_token
  • 原文地址:https://www.cnblogs.com/wangergo/p/1507358.html
Copyright © 2020-2023  润新知