Angularjs 角度ui ace需要ng
您将如何在表单中实现ng required和angular ui ace 这是我的标记:Angularjs 角度ui ace需要ng,angularjs,ace-editor,Angularjs,Ace Editor,您将如何在表单中实现ng required和angular ui ace 这是我的标记: <form name="scriptform"> <div name="script" ui-ace="{ onLoad: configureAce }" ng-required="" ng-model="someCodez"> </div> </form> {{ scriptform }
<form name="scriptform">
<div name="script"
ui-ace="{ onLoad: configureAce }"
ng-required=""
ng-model="someCodez">
</div>
</form>
{{ scriptform }}
{{scriptform}}
开箱即用的ace似乎没有连接到angular form验证框架,
因为上面的{scriptform}}在
“someCodez”为空。查看文档,我认为
ng required
属性仅与
元素一起工作,因此这种方法可能不可行
但是,您可以通过更改表单组件本身的$setValidity
来获得类似的结果。例如,当用户不再更改Ace编辑器中的内容时:
$scope.configureAce = function() {
return {
onLoad: function (editor) {
editor.on('blur', function() {
if (/* test validity of someCodez */)
$scope.scriptForm.script.$setValidity('scriptSyntax', true);
else
$scope.scriptForm.script.$setValidity('scriptSyntax', false);
$scope.$digest();
});
}
};
};
$setValidity
的第一个参数是一个自定义字符串,您可以检查它,并使用它向用户显示错误状态。请参阅相关文档:目前,我在使用aces“onChange”cb方面做了一项非常糟糕的工作。是的,这几乎就是我正在做的事情。编辑器事件似乎是在当前版本中连接它的唯一方法。谢谢你的回答!