如何在 jQuery 验证插件中使用 Resources.resx
How to use Resources.resx in jQuery Validation Plugin
我想用 jQuery 验证插件验证一些表单。一切正常,直到我想使用资源文件中的消息。
这是我的代码:
$('#myform').validate({
rules: {
test1: {
required: true,
},
messages: {
test1: {
required: "simple string works",
},
});
我试过
'@Html.Raw(Resources.testRes)'
'@Resources.testRes'
'Resources.testRes'
当在 ASP.NET MVC 中请求页面时,操作(如果它有 ViewResult)将呈现视图和脚本包或 <script src="path">
(来自视图或其布局)将导致浏览器在处理响应中发送的 html 时再次请求 .js 文件。
当此 js 在客户端上执行时,它无法访问 .resx 文件,因此任何使用 razor(或 aspx)的尝试都将是无效的 js。
如果您在视图中包含 <script></script>
内联,它将在服务器上呈现,并且您将引用 resx 文件,并且您之前的方法将起作用。
由于您正在编写内联 javascript,这有点混乱,因此请考虑布局的另一个局部视图,它以这种方式与 resx 交互以封装所有这些,或者更好的是 .js包含消息的参考文件。
还有一些其他的Whosebug questions about js and resx了解更多详情。
我想用 jQuery 验证插件验证一些表单。一切正常,直到我想使用资源文件中的消息。
这是我的代码:
$('#myform').validate({
rules: {
test1: {
required: true,
},
messages: {
test1: {
required: "simple string works",
},
});
我试过
'@Html.Raw(Resources.testRes)'
'@Resources.testRes'
'Resources.testRes'
当在 ASP.NET MVC 中请求页面时,操作(如果它有 ViewResult)将呈现视图和脚本包或 <script src="path">
(来自视图或其布局)将导致浏览器在处理响应中发送的 html 时再次请求 .js 文件。
当此 js 在客户端上执行时,它无法访问 .resx 文件,因此任何使用 razor(或 aspx)的尝试都将是无效的 js。
如果您在视图中包含 <script></script>
内联,它将在服务器上呈现,并且您将引用 resx 文件,并且您之前的方法将起作用。
由于您正在编写内联 javascript,这有点混乱,因此请考虑布局的另一个局部视图,它以这种方式与 resx 交互以封装所有这些,或者更好的是 .js包含消息的参考文件。
还有一些其他的Whosebug questions about js and resx了解更多详情。