gpt4 book ai didi

javascript - 在angularjs表单验证中提交表单之前显示错误消息

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:01:11 24 4
gpt4 key购买 nike

我已经使用 angularjs 进行了表单验证。但我面临一个问题,即页面加载时显示的错误消息。但是此消息将在出错后显示。我只想说我已经使用指令设置了验证摘要。我能做什么?

我的代码如下

<label>UserName</label>
<input type="text" class="form-control" name="UserName" ng-model="userVM.UserName" required ng-minlength="8" ng-maxlength="20" />
<div validation-message ng-show="customerForm.UserName.$error.required" class="error">
Username is required
</div>

指令如下

NusPayApp.directive("validationSummary", function () {
return {
restrict: "A",
require: "^form",

template: "<div class='alert alert-warning'><a class='close' ng-click='toggleValidationSummary()'>×</a><h4 class='alert-heading'>Warning!</h4><li ng-repeat='(expression,message) in validationMessages'>{{message}}</li></ul></div>",
link: function (scope, element, attributes, controller) {

scope.validationMessages = {};

// Hooks up a watch using [ng-show] expression
controller.watchValidation = function (expression, message) {

// watch the return value from the scope.$eval(expression)
scope.$watch(function () { return scope.$eval(expression); }, function (isVisible) {

// check if the validation message exists
var containsMessage = scope.validationMessages.hasOwnProperty(expression);

// if the validation message doesn't exist and it should be visible, add it to the list
if (!containsMessage && isVisible) {
scope.validationMessages[expression] = message;
}

// if the validation message does exist and it shouldn't be visible, delete it
if (containsMessage && !isVisible) {
delete scope.validationMessages[expression];
}
});
};
}
};
});

让我帮忙给我建议。我需要确保在提交表单后会显示错误消息。

最佳答案

您可以在范围内添加新变量以检查表单是否已提交。

$scope.isFormSubmit = false

然后,如果您的表单有错误,则将此标志更新为 true

if($scope.form.$valid)
{
//Submit your form
$scope.isFormSubmit = false
}
else
{
$scope.isFormSubmit = true
}

将您的 HTML 代码更新为

<div validation-message ng-show="customerForm.UserName.$error.required && isFormSubmit" class="error">
Username is required
</div>

关于javascript - 在angularjs表单验证中提交表单之前显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24182229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com