Jquery 在angular controller中使用语义UI表单验证
根据本教程,我尝试使用语义Ui的表单验证 与相应的博客条目 如果我用<代码>$('.ui.form').form({…在html文件中一切正常,代码如下所示Jquery 在angular controller中使用语义UI表单验证,jquery,angularjs,forms,validation,semantic-ui,Jquery,Angularjs,Forms,Validation,Semantic Ui,根据本教程,我尝试使用语义Ui的表单验证 与相应的博客条目 如果我用$('.ui.form').form({…在html文件中一切正常,代码如下所示 <div class="field"> <label>label</label> <input type="email" id="email" name="email" ngmodel="data.profile.email" placeholder ="you@example.com">
<div class="field">
<label>label</label>
<input type="email" id="email" name="email" ngmodel="data.profile.email" placeholder ="you@example.com">
</div>
<script>
(function ($) {
console.log($('.ui.form'));
$('.ui.form').form({
email: {
identifier: 'email',
rules: [{
type: 'empty',
prompt: 'Please enter a valid email'
}]
},
},
{
on: 'blur'
}
);
}(jQuery));
</script>
标签
(函数($){
log($('.ui.form');
$('.ui.form').form({
电邮:{
标识符:“电子邮件”,
规则:[{
键入:“空”,
提示:“请输入有效的电子邮件”
}]
},
},
{
关于“模糊”
}
);
}(jQuery));
但是当我试图在角度控制器中获得相同的结果时,{code>$('.ui.form')。form({什么都不做
我已经用控制台日志测试过,在这两个变体中,表单元素完全相同,chrome开发工具中的调试器显示“表单”方法也是一样的,但是表单有效性在控制器中不起作用。同时使用angular和jQuery肯定会让您头疼,在您真正真正了解angular之前不要将jQuery与angular一起使用。您必须在angular之前注入完整的jQuery,因为angular只使用了一个简化版本的jQuery您可以通过在angular库之前插入jquery数据库:
来覆盖。此外,建议以“angular指令”的形式使用任何jquery库事实上,已经有一个语义UI指令库可供使用:是的,在angular和jquery定义并运行之前,我就包含了它,因为例如我可以console.log($('.UI.form'));
在我的控制器中,一切正常,除了使用该ui表单上的规则调用表单方法。奇怪的是,var registrationForm=$($element);
和console.log(registrationForm.form('validate form');;
可以工作,但不能用相同的方法定义规则