Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ASP.NETMVC3:修改验证脚本和全局化消息_Jquery_Asp.net Mvc 3_Globalization - Fatal编程技术网

Jquery ASP.NETMVC3:修改验证脚本和全局化消息

Jquery ASP.NETMVC3:修改验证脚本和全局化消息,jquery,asp.net-mvc-3,globalization,Jquery,Asp.net Mvc 3,Globalization,我现在在这里是因为两件事 第一名: 我需要修改jQuery脚本来修复十进制分隔符(点或coma)。在我的国家(阿根廷),我们使用coma作为十进制分隔符,jQuery.validation使用点。 我设法改变了正则表达式,现在已经修好了,但我的问题来自另一边 每当我添加视图时,它都会引用两个脚本 <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></scri

我现在在这里是因为两件事

第一名:

我需要修改jQuery脚本来修复十进制分隔符(点或coma)。在我的国家(阿根廷),我们使用coma作为十进制分隔符,jQuery.validation使用点。 我设法改变了正则表达式,现在已经修好了,但我的问题来自另一边

每当我添加视图时,它都会引用两个脚本

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

由于我只直接修改了jquery.validate.js,如何将其重构为min(我不知道它们之间的区别,所以在这一点上喝一点水就好了)。?最好是扩展脚本?怎么样?(尝试此操作但无效:()

我也不知道我是否能像那样一个接一个地改变,它会继续工作

秒:

我需要全球化来自jQuery客户端验证的消息

例如,当你在一个数字字段中键入一个字母(比如年龄)时,它会显示一条消息,说“字段年龄必须是一个数字。”…我一直在疯狂地查找整个解决方案,一遍又一遍地寻找该消息(IMHO,魔鬼的工作)。但显然,没有成功

虽然好的做法是根据web浏览器文化选择文化和其他内容,但我必须做的web应用程序必须让系统的用户选择文化(可能在登录页面或用户配置页面中,但这并不重要)

因此,如果用户选择es-AR文化(来自阿根廷的西班牙语),我想显示的信息是“El campo edad debe ser unúmero”。如果用户选择fr-fr文化,显示的信息应该是(感谢谷歌翻译)“Le champ–ge doitêtre un nombre”


对不起我的英语,我希望你能理解我的“问题”。
谢谢大家;)

首先,我相信您只需要其中一个验证脚本(如果它们只是常规的和小型的)

创建另一个名为app.domready.js的js文件,这将是放置常规生产代码的地方。直接编辑插件进行更新通常也不好

将所有这些放在app.domready.js中,并在母版页/view\u Layout.cshtml中引用

<script src="@Url.Content("~/Scripts/app.domready.js")"></script>
您可以根据表单ID/类在其中设置参数。 请查看上的源代码以获取帮助

min或任何名为.min的jquery插件意味着缩小或压缩,以便在浏览器解析时节省空白/大小,这意味着用户下载的时间更少,也意味着更快。我们通常在开发中使用未压缩,在VS2010中有一个构建脚本来压缩所有内容


希望我理解了您的意图。

我正在为MVC3编写一个contrib项目,其中包括一种更简单的处理消息本地化的方法:

请在jquery.validate脚本之后添加此代码:

$(document).ready(function () {
    $.validator.methods.range = function (value, element, param) {
        var globalizedValue = value.replace(",", ".");
        return this.optional(element) || (globalizedValue >= param[0] && 
               globalizedValue <= param[1]);
    }
    $.validator.methods.number = function (value, element) {
        return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value);
    }
    $.validator.methods.date = function (value, element) {
        var isValid = true;
        if (Object.prototype.toString.call(d) === "[object Date]") {            
            if ( isNaN( d.getTime() ) ) { 
                isValid = false;
            }            
        }
        else {
            isValid = false;
        }
        return this.optional(element) || isValid;
    }
});
$(文档).ready(函数(){
$.validator.methods.range=函数(值、元素、参数){
var globalizedValue=value.replace(“,”,“);
返回此.optional(element)| |(globalizedValue>=param[0]&&

globalizedValue它非常简单明了,尽管我更喜欢使用自己创建的简单资源文件并手动更改所有消息。
$(document).ready(function () {
    $.validator.methods.range = function (value, element, param) {
        var globalizedValue = value.replace(",", ".");
        return this.optional(element) || (globalizedValue >= param[0] && 
               globalizedValue <= param[1]);
    }
    $.validator.methods.number = function (value, element) {
        return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value);
    }
    $.validator.methods.date = function (value, element) {
        var isValid = true;
        if (Object.prototype.toString.call(d) === "[object Date]") {            
            if ( isNaN( d.getTime() ) ) { 
                isValid = false;
            }            
        }
        else {
            isValid = false;
        }
        return this.optional(element) || isValid;
    }
});