然后我又想用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>