C# 非英语十进制输入的Jquery验证问题

C# 非英语十进制输入的Jquery验证问题,c#,asp.net-mvc,unobtrusive-validation,C#,Asp.net Mvc,Unobtrusive Validation,我试图验证“Double”类型的用户输入,但我有非常奇怪的行为 模型 看法 我不知道我做错了什么? @节脚本{ @Scripts.Render(“~/bundles/jqueryval”) $(function(){//将在文档准备就绪时触发 $('.datepicker').datepicker({ 格式:“日/月/年”, 今日BTN:“链接”, 自动关闭:是的, 今天的亮点:真的 });//初始化任何日期选择器 }); $.extend($.validator.methods{ 日期:函数

我试图验证“Double”类型的用户输入,但我有非常奇怪的行为

模型

看法

我不知道我做错了什么?

@节脚本{
@Scripts.Render(“~/bundles/jqueryval”)
$(function(){//将在文档准备就绪时触发
$('.datepicker').datepicker({
格式:“日/月/年”,
今日BTN:“链接”,
自动关闭:是的,
今天的亮点:真的
});//初始化任何日期选择器
});
$.extend($.validator.methods{
日期:函数(值、元素){
返回此.optional(元素)\\\/^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test(值);
}
});

jqueryval是验证bunles

您声称的没有任何意义(如果您在web.config文件中设置了区域性,则不需要自定义ModelBinder)。你的POST方法中的代码是什么。我理解,我不知道我做错了什么,例如:当我看到源页面时,我看到中的所有错误消息都是用法语编写的,但在显示屏上我看到了英语错误消息。那么,我如何在POST方法中获取代码?我的意思是显示你的控制器方法的代码-你的
[HttpPost]public ActionResult….
Method它没有到达ActionResult,因为它是聚合的客户端验证
public class User
{
    public double CodeA { get; set; }
    public double CodeB { get; set; }
}
<div class="row">
    <div class="form-group">
        <div class="col-md-1">
            <label class="control-label">CodeA</label>
        </div>
        <div class="col-md-2">
            @Html.TextBoxFor(model => model.CodeA, new { @class = "form-control input-sm cus-read" })
        </div>
        <div class="col-md-3">
            @Html.ValidationMessageFor(model => model.CodeA)
        </div>

        <div class="col-md-1">
            <label class="control-label">CodeB</label>
        </div>
        <div class="col-md-2">
            @Html.TextBoxFor(model => model.CodeB, new { @class = "form-control input-sm cus-read" })
        </div>
        <div class="col-md-3">
            @Html.ValidationMessageFor(model => model.CodeB)
        </div>
    </div>
</div>
<system.web>
    <globalization
        fileEncoding="utf-8"
        requestEncoding="utf-8"
        responseEncoding="utf-8"
        culture="fr-BE"
        uiCulture="fr-BE"
    />
</system.web>
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
    ValueProviderResult valueResult = bindingContext.ValueProvider
        .GetValue(bindingContext.ModelName);
    ModelState modelState = new ModelState { Value = valueResult };
    object actualValue = null;
    try
    {
        actualValue = Convert.ToDouble(valueResult.AttemptedValue,
            CultureInfo.CurrentCulture);
    }
    catch (FormatException e)
    {
        modelState.Errors.Add(e);
    }

    bindingContext.ModelState.Add(bindingContext.ModelName, modelState);
    return actualValue;
}
@section Scripts {
    @Scripts.Render("~/bundles/jqueryval") 
    <script type="text/javascript">

        $(function() { // will trigger when the document is ready
            $('.datepicker').datepicker({
                format: "dd/mm/yy",
                todayBtn: "linked",
                autoclose: true,
                todayHighlight: true
            }); //Initialise any date pickers
        });

        $.extend($.validator.methods, {
            date: function (value, element) {
                return this.optional(element) || /^\d\d?[\.\/\-]\d\d?[\.\/\-]\d\d\d?\d?$/.test(value);
            }
        });

    </script>