我有下一个代码
componentDidMount() {
super.componentDidMount();
let jobj = $(ReactDOM.findDOMNode(this));
$.validator.unobtrusive.parse(jobj);
}运行此操作后,我得到错误:Uncaught TypeError:无法读取未定义的属性“未公开”
如何才能使导入ASP.MVC不显着和jquery验证?
发布于 2015-12-31 04:57:42
从错误来看,$.validator似乎还没有附加。
在呈现React组件之前检查是否遗漏了jquery.validate.min.js (参见这里)。
关于使用ASP.NET MVC和非阻塞,这也是我在过去几天一直在研究的问题。让我谈谈我对此的一些初步想法:
验证工作是开箱即用的React
从非凸性验证的工作方式来判断,只要您增强了JSX或TSX(类型抄本v1.6+),或者使用数据-val-*属性来响应脚本,这个不可靠的插件就已经为您带来了魔力。
var TextInputComponent = React.createClass({
render() {
return (
<div>
<input data-val="true" data-val-required="error msg" name="Test" type="text" />
<span className="text-danger" data-valmsg-replace="true" data-valmsg-for="Test"></span>
</div>
);
}
});问题空间
问题是我们(ASP.NET MVC开发人员)习惯于让Razor通过@Html.TextFor(.)为我们生成所有属性。方法(以及其他输入类型的变体)。现在,我们需要将这些属性传递给组件,以便它们知道如何对特定字段进行验证。
我正计划测试下列措施是否有效:
简而言之,要有一个完整的ASP.NET验证表单,我们需要告诉ReactJS组件所有必需的数据-val-* info。
https://stackoverflow.com/questions/33764406
复制相似问题