C#MVC中自带验证
时间:2015-03-27 15:02:35
收藏:0
阅读:310
最近项目中用了mvc自带的ajax验证,但是在项目中遇到了点问题,就是验证提示时会显示英文。像下面这样:
在网上找了好多文章,但是都不是解决办法。最后在这篇文章看到可能有解决办法,但是他这种自定义的方法我没有尝试。由于自己用的mvc4所以看到评论有人提醒,就用了这种方式解决了
@Html.TextBoxFor(model => model.TrainDay, new { @class = "input", data_val_number = "请输入有效的天数"})
下面说说mvc自带验证的用法
1.我使用了viewmodel,所以验证信息都加在viewmodel了,代码(部分)如下:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace CustomsProjectEx.Web.Areas.SAM.Models
{
public class VMContract
{
[Required(ErrorMessage = "乙方联系人为必填项")]
[Display(Name = "乙方联系人")]
public string PartBContact { get; set; }
[RegularExpression(@"((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)",ErrorMessage="电话号码格式不正确")]
[Required(ErrorMessage = "乙方联系人电话为必填项")]
[Display(Name = "乙方联系人电话")]
public string PartBContactPhone { get; set; }
[Required(ErrorMessage = "合同签订日期为必填项")]
[Display(Name = "合同签订日期")]
public Nullable<System.DateTime> SignDate { get; set; }
[Required(ErrorMessage = "培训人天数为必填项")]
[RegularExpression(@"^[0-9]\d*$", ErrorMessage = "请填写有效数字")]
[Display(Name = "培训人天数")]
public Nullable<int> TrainDay { get; set; }
}
}2.前台代码(部分)
<div class="control-group">
<div class="control-group">
<label class="control-label">联系电话</label>
<div class="controls">
<div class="input-group">
@Html.TextBoxFor(model => model.PartBContactPhone)
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">客服电话</label>
<div class="controls">
<div class="input-group">
@Html.TextBoxFor(model => model.CustomerServicePhone)
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">实施人天</label>
<div class="controls">
<div class="input-group">
@Html.TextBoxFor(model => model.ImplementDay, new { @class = "input", data_val_number = "请输入有效的天数" })
</div>
</div>
</div>
<div class="control-group">
<label class="control-label">培训人天</label>
<div class="controls">
<div class="input-group">
@Html.TextBoxFor(model => model.TrainDay, new { @class = "input", data_val_number = "请输入有效的天数"})
</div>
</div>
</div>3.前台验证初始化,这里项目用了kendo ui中的验证,用mvc自带的表单验证估计也可以,没有尝试。
$(document).ready(function () {
kendo.culture("zh-CN");
var container = $("#formAddContract");
kendo.init(container);
container.kendoValidator({
rules: {
}
});
})
原文:http://blog.csdn.net/woaishuoshihuo/article/details/44673377
评论(0)