在这种小问题中,目标是根据控制器中的验证(而不是内置required
或min- length
)显示错误消息。设置ng-message-exp时,不显示消息错误。关于如何使这项工作更好或如何ng- message
实际工作的任何想法都与错误或模型有关?
的HTML
<body ng-app="ngMessagesExample" ng-controller="ctl">
<form name="myForm" novalidate ng-submit="submitForm(myForm)">
<label>
This field is only valid when 'aaa' is entered
<input type="text"
ng-model="data.field1"
name="field1" />
</label>
<div ng-messages="myForm.field1.$error" style="color:red">
<div ng-message-exp="validationError">this is the error</div>
</div>
<br/><br/>
<button style="float:left" type="submit">Submit</button>
</form>
Java脚本
var app = angular.module('ngMessagesExample', ['ngMessages']);
app.controller('ctl', function ($scope) {
$scope.submitForm = function(form) {
if (form.field1.$modelValue != 'aaa') {
$scope.validationError = true;
console.log('show error');
}
else {
$scope.validationError = false;
console.log('don\'t show error');
}
};
});
您的主要ng- messages
论点受到束缚myForm.field1.$error
,但您从未真正向清单添加错误form.field1.$error
。因此,在您的控制器中,只需$error
通过$setValidity(field, isValid)
以下命令向对象手动添加错误:
if ($scope.data.field1 != 'aaa') {
form.field1.$setValidity('validationError', false);
// Angular will make form.field1.$error.validationError = true;
}
else {
form.field1.$setValidity('validationError', true);
// Angular will make form.field1.$error.validationError = false;
}
然后,您可以让ng-message
指令执行其工作。提供的子元素已经ng-message
被评估为其父级的属性ng- messages
(请注意s
)。因此,通常将其与父元素一起用作form元素的$error
对象,而将内部子元素用作$error.required
或的属性$error.validationError
。不需要ng- message-exp
这里:
<div ng-messages="myForm.field1.$error" style="color:red">
<div ng-message="validationError">this is the error</div>
</div>
固定塞
常用于主动操作后的反馈提示。与 Notification 的区别是后者更多用于系统级通知的被动提醒。 基础用法 从顶部出现,3 秒后自动消失。 Message 在配置上与 Notification 非常类似,所以部分 options 在此不做详尽解释,文末有 options 列表,可以结合 Notification 的文档理解它们。Element Plus 注册了一个$message方法用于调用,
Message 消息提示 常用于主动操作后的反馈提示。与 Notification 的区别是后者更多用于系统级通知的被动提醒。 基础用法 从顶部出现,3 秒后自动消失。 :::demo Message 在配置上与 Notification 非常类似,所以部分 options 在此不做详尽解释,文末有 options 列表,可以结合 Notification 的文档理解它们。 open() {
常用于主动操作后的反馈提示。与 Notification 的区别是后者更多用于系统级通知的被动提醒。 基础用法 从顶部出现,3 秒后自动消失。 ElMessageService 仅仅是一个服务, 不需要在模板中注册任何组件插槽,它会创建一个虚拟组件用于显示,并且在合适的时候注销。你完全不用担心模板与生命周期的问题。 <!--你可以从 [element-angular] 中引入 ElMessageS
Message 消息提示 常用于主动操作后的反馈提示。与 Notification 的区别是后者更多用于系统级通知的被动提醒。 基础用法 从顶部出现,3 秒后自动消失。 Message 在配置上与 Notification 非常类似,所以部分 options 在此不做详尽解释,文末有 options 列表,可以结合 Notification 的文档理解它们。Element 注册了一个$messag
在我的角度页面中,我面临着动态ng模型值的一些问题。这是我的示例JSON。 我想从这个josn中做的是,在我的页面中创建一个视图,这样,它将包含< code>tab1和< code>tab2作为页面标题,以及相应的< code>value作为< code>checkbox。用户将有选择他的选项的选择性。在提交时,我想得到他选择的选项。我想知道在我的控制器中选择了< code>value1,valu
我想比较一下id,这里,如果id等于5,做这个,否则做那个。我怎样才能做到这一点?