【问题标题】:multiple emails in an input field in UI5UI5的输入字段中的多封电子邮件
【发布时间】:2019-06-10 04:43:23
【问题描述】:

我有一个用例,我想在 sap.m.Input 字段中添加多个电子邮件地址。有什么办法可以保留输入字段的sap.m.InputType.Email 类型吗?

我已经检查过在 HTML5 中,<input> 标签具有multiple 属性,允许用户输入给定输入类型的多个值。我想要类似的东西在这里。

我还想验证所有电子邮件地址。所以目前我通过用分号将sap.m.Input 值中的电子邮件地址分开,并从sap.m.Input 的电子邮件验证器手动验证每个电子邮件地址。

var oEmails = new sap.m.Input();

onFormSubmit: function(oEmail) {
    var isValidEmails = false;
    var emails = oEmail.getValue().split(";");
    for (var i=0; i<emails.length; i++) {
        var emailValidation = oEmail.getValidator().emailValidation(emails[i]);
        var isInvalidEmail = (emailValidation.valueType === "Error");
        if (isInvalidEmail) {
            showError(oEmail);
            isValidEmails = false;
            break;
        } else {
            isValidEmails = true;
        }
    }
    return isValidEmails;
}

我没有在oEmails 中添加输入类型,因为它会为多封电子邮件返回错误。但我想使用它,所以输入控件应该负责验证。有没有更好的方法来处理这些问题?

提前致谢。

【问题讨论】:

    标签: javascript validation sapui5 email-validation


    【解决方案1】:

    你看过sap.m.MultiInput吗?它对单个条目使用标记,但从语义上讲,它允许您输入多个条目,并且您可以将类型设置为电子邮件,尽管到目前为止我还没有尝试过。

    【讨论】:

    • 是的,我已经尝试过了,我认为当 liveChange 事件发生时,他们需要提前显示一些列表作为建议。我事先没有任何电子邮件列表。所以我认为MultiInput 不是一个好的选择。
    • 应该也可以不用,尽管需要做一些工作。我在这里建立了一个小的概念证明:plnkr.co/edit/SEYbw8Y8BL0UOY2ssc90?p=preview(输入内容后按回车)但是,这并不能直接解决您的电子邮件问题。在此示例中,您还需要自己验证电子邮件。但我检查了,输入类型“电子邮件”也不包含验证。在探索中,SAP 提供了一种自定义电子邮件类型,用于数据绑定以验证电子邮件。 InputType 只提供移动设备上的键盘,第一页带有@。
    猜你喜欢
    • 1970-01-01
    • 2018-01-12
    • 2021-03-12
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 2017-10-22
    相关资源
    最近更新 更多