验证唯一的电子邮件ID(无重复值)

时间:2020-05-21 10:06:34

标签: javascript jquery jogetworkflow joget

我在joget中创建了三个电子邮件文本字段。我希望每个电子邮件字段的电子邮件都是唯一的。enter image description here

附有屏幕快捷键。如果它们两个的电子邮件ID相同,我想显示错误!

我该怎么做?

`import java.util.Arrays;
import org.joget.apps.app.service.AppUtil;
import org.joget.apps.form.model.Element;
import org.joget.apps.form.model.Form;
import org.joget.apps.form.model.FormData;
import org.joget.apps.form.service.FormUtil;

public boolean validate(Element element, FormData formData, String[] values) {
    boolean result = true;

    //get field 1 value from form data object
    String field1Id = "field1";
    Form form = FormUtil.findRootForm(element);
    Element field1 = FormUtil.findElement(field1Id, form, formData);

    if (field1 != null) {
        //get value of field 1
        String[] compareValues = FormUtil.getElementPropertyValues(field1, formData);

        //compare the value of field 2 and field 1 are equals
        if (!Arrays.equals(values, compareValues)) {
            String id = FormUtil.getElementParameterName(element);
            formData.addFormError(id, "Value not equal!!!!");
            result = false;
        }
    } else {
        //ignore if the field 1 not exist
    }

    return result;
}

//call validate method with injected variable
return validate(element, formData, values);`

我已经编写了这段代码,但是没有成功。如果您可以通过J查询代码/ JS代码帮助我,我将为您提供帮助。 AS joget支持它

1 个答案:

答案 0 :(得分:0)

如果您在HTML页面中使用它,则可以使用简单的javascript代码,假设电子邮件ID的输入标签的ID为“ email1,email2,email3”。然后

function validate()
{
email1 = document.getElementById("email1").value;
email2 = document.getElementById("email2").value;
email3 = document.getElementById("email3").value;

if(email1 == email2 || email2==email3 || email3==email1)
  {
     //Do something here

  }
}

然后,您可以通过在提交按钮上添加事件侦听器来提交函数之前,通过调用validate函数来验证电子邮件ID是否相同。
或者,如果您想在用户输入电子邮件时检查该值,则可以在所有电子邮件输入标签上添加input事件监听器。

document.getElementById("email1").addEventListener('input', validate);
document.getElementById("email2").addEventListener('input', validate);
document.getElementById("email3").addEventListener('input', validate);