首页 > Windows开发 > 详细

C#MVC中自带验证

时间:2015-03-27 15:02:35      阅读:308      评论:0      收藏:0      [点我收藏+]

最近项目中用了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: {
                    
            }
        });
    })



C#MVC中自带验证

原文:http://blog.csdn.net/woaishuoshihuo/article/details/44673377

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!