问题标签 [xval]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Data type validation with xVal
I'm trying to figure out the best way to validate data within a MVC C# app and xVal seemed to be the best fit. However I'm running into a problem with data type validation.
At first I was doing an UpdateModel into the DTO and then running the validation on the DTO. This worked great for things like required fields, however UpdateModel would throw an exception if you tried, for example, to map a string ("asd") into a decimal field. Since UpdateModel had to be ran before there was any data to validate I wasn't sure how to get around that.
My solution was to create a DTO per form that UpdateModel would copy into, run validation on that, and then copy values out into the proper DTOs. All the attributes on the form DTO would be strings so UpdateModel never bombs out, and I'd enforce the data validation through xVal. However while rules like required are kicking in, I can't seem to get the DataType rule to kick in (in this case trying DataType.Currency).
I had also tried getting the client-side validation to work, but I was hoping there was a clean way to do server-side validation of data types.
What have others done with regards to validating data types on the server-side?
asp.net-mvc - xVal 如何验证复杂类型的子属性?
我在我的 ASP.NET MVC 应用程序中使用xVal,这通常很棒。在Steve Sanderson 的博客文章之后,我创建了一个 DataAnnotationsValidationRunner 来对属性对象进行服务器端验证。这对于一个简单的类非常有用。例如人:
但是,如果我向这个人添加一个 Address 属性,并用 DataAnnotation 属性标记 Address 类,它们将不会被验证。例如
一个问题是 DataAnnotationValidationRunner 不会遍历复杂的子属性。此外,如果将这些错误添加到错误集合中,则在添加到模型状态时仍需要正确添加前缀。例如。Person 错误是这样添加的:
我认为地址规则例外需要以“person.address”为前缀。是否有支持使用 xVal 处理子对象验证的方法,或者创建扁平数据传输对象是唯一的解决方案?
jquery - 使用 xVal MVC 提交时禁用按钮
我有一个使用 xVal 的 MVC 应用程序。我正在尝试连接到 jquery 验证以在表单有效后显示“加载”图形。当 jquery 验证表单时,我似乎找不到仅显示 qraphic 的方法。
但是,它还会在单击按钮时禁用该按钮,并且未验证阻止用户重新提交表单,以纠正客户端错误。
有没有人有这样做的经验。
谢谢
R
这是整个页面源
jquery - XVal、JQuery Validate 和 Ajax 哦,天哪!
我将 xVal 与 MVC 和 jquery 验证一起使用。一切都很好,直到我找到执行 ajax 调用的自定义验证器。
根据 firbug Net Tab,ajax 调用返回正确的值。但是出了点问题,我无法弄清楚。
这是javascript代码:
}
当我使用 firebug 时,res 显示为未定义。我认为这就是问题所在。
我花了大约 4 个小时重新安排和更改此代码,但似乎没有任何东西可以使其正常工作。
我有一个理论,它不会等到 ajax 完成才能运行 if 语句。任何人都可以确认或否认吗?
asp.net-mvc - 带有 nHibernate.validator 的 MVC.NET 中的 xVal 不会触发客户端验证
我有一个使用 NHibernate 和 NHibernate.Validator 的 ASP.NET MVC 项目,我想使用 xVal 1.0(最新版本)。我将请求的脚本添加到项目中并在 Site.Master 中引用它:
然后我将 NHibernateValidatorRulesProvider 添加到 Global.asax Application_OnStart() 中的 xVal.ActiveRuleProviders 中:
最后,在视图上,我添加了:
我在 IE 中收到 JavaScript 警告,但在 Firefox 中没有。如果现在输入一些无效字段并提交这些字段,xVal 不会触发 - 而是进行 PostBack,服务器端验证会处理数据。
我究竟做错了什么?我已经能够使 xVal 示例项目与 xVal 1.0 一起运行...
//编辑:我必须准确地说我的陈述:实际发生了一些事情:它会回发并将无效字段标记为红色(因为它一直在使用服务器端验证)但是如果我在这些字段中写入一些内容,颜色变回正常状态。但是如果我然后再次删除该值,则在单击提交并且表单执行回发之前什么都没有发生...如果我删除了客户端验证代码,这似乎不会发生。
asp.net-mvc - 使用 ajax、RenderPartial 表单的 xVal 客户端验证
我不确定我的问题是更普遍还是仅针对 xVal。
目前,我有一个带有未定义的部分表单列表的表单。在那里我用 Ajax 加载了一个部分表单,用 xVal 我还附加了一个验证器。
我现在的问题是,直到回发才验证呈现的表单。
是否有可能在 Ajax 请求的表单上进行验证工作/运行 javascript?
Firefox 正确验证了部分呈现的表单,Internet Explorer 是在回发后进行的。
是否可以使用 Internet Explorer 在客户端站点上验证 ajax 呈现的表单?
我希望我的问题很清楚,如果不是,我会提供一些代码,但我认为它现在不是特定于代码的。
问候
jquery - xVal 强制字段进入错误状态
我有一个 jQuery 自动完成字段,它从我的 MVC 操作中获取现有数据。我想确保输入到字段中的数据不存在于数据库中。
我在自动完成上使用 .result 和 .change 将字段设置为 class =“input-validation-error”。当我添加 xVal 客户端验证时,这仍然有效,但 xVal 似乎清除了 css 类,所以现在字段条目短暂变为红色,然后返回到清晰的背景。
与其尝试更改 xVal 代码,不如让 xVal 客户端验证以错误状态显示字段,就像正常客户端数据验证错误一样。
我该怎么做?我可以在自动完成 .result 事件中使用什么代码来强制 xVal 中的错误状态?
更新: 我尝试了 Wyatt Barnett 的想法,但从我的评论中可以看出,这不是我想要的。这是我所拥有的代码:
字段标记:
xVal 标记:
自动完成的 javascript 标记:
该脚本为我提供了要处理的事件,但我可以在其中放入什么?
jquery - 如何在MVC中给Business Objects添加帮助提示属性并在View中显示
如何在我的 ASP.Net MVC 应用程序中针对我的业务对象提供某种形式的属性,以便我可以在视图中获取帮助文本并将它们显示为弹出悬停帮助文本,如下所示:
我希望能够从我的 ViewModel 中获取“标题”值,该值将从业务对象的属性中获取文本。
总之,如何在我的业务对象上应用帮助文本属性/元数据?
asp.net-mvc - 使用 JsonResult 时,使用了哪些技术将 MVC ModelState 验证错误传递回客户端?
我在这里有点想大声,所以让我知道是否需要澄清......
在 ajax 繁重的网站上,当使用 JsonResult 将信息传递回客户端时,正在使用哪些技术、模式、最佳实践将 ModelState 验证错误传递回客户端?
我在我的视图模型上使用 xVal 和城堡验证,是否有某种标准可以让 jquery 验证显示来自 ajax 响应的错误?