在带有打字稿的HTML应用程序中,我有一个HTML表单。此表单包含一些必填字段。在我的打字稿文件中,我正在构建如下错误消息:
hasErrors() {
let errorCount = 0;
if (!item.Field1()) {
this.ErrorText('"Field1"');
errorCount++;
}
if (!item.Field2()) {
if (errorCount > 0)
this.ErrorText(this.ErrorText() + ', "Field2"');
else
this.ErrorText('"Field2"');
errorCount++;
}
if (!item.Field3()) {
if (errorCount > 0)
this.ErrorText(this.ErrorText() + ', "Field3"');
else
this.ErrorText('"Field3"');
errorCount++;
}
// ...
if (errorCount > 1)
this.ErrorText("The fields " + this.ErrorText() + " are required.";
else if (errorCount == 1)
this.ErrorText("The field " + this.ErrorText() + " is required.";
else
return false;
return true;
}
如您所见,如果需要许多字段,此函数会变得很长。是否有更好/更短的方法来获得相同的结果?
答案 0 :(得分:3)
这将显示Default require msg
<form action="includes/loginprocess.php" method="POST">
<input type="text" name="user" placeholder="Username" required>
<input type="password"name="pass" placeholder="Password" required>
<input type="submit" value="Login">
</form>
答案 1 :(得分:1)
function catErrors(field){
if (!item.field) {
if (this.errorCount > 0)
this.ErrorText(this.ErrorText() + ', "' + field + '"');
else
this.ErrorText('"' + field + '"');
this.errorCount++;
}
}
你能否创建一个查找错误的函数?
你可以这样调用这个函数:catErrors(Field1)
。
这将有助于缩短您的代码。您所要做的就是手动添加第一个字段以启动,其后面的所有内容都将使用函数catErrors()
。希望这有帮助!
答案 2 :(得分:0)
来考虑一下,你试图告诉用户他们缺少哪些空白。真的有需要吗?如何检测任何丢失的空白并返回消息“字段xxx丢失”?例如,你有两个空格,用户名和密码,如果用户没有填写它们,你可以只指出“需要用户名。”