所需字段的验证功能更短

时间:2016-04-04 14:19:12

标签: javascript html validation typescript

在带有打字稿的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;
}

如您所见,如果需要许多字段,此函数会变得很长。是否有更好/更短的方法来获得相同的结果?

3 个答案:

答案 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丢失”?例如,你有两个空格,用户名和密码,如果用户没有填写它们,你可以只指出“需要用户名。”