我在joget中创建了三个电子邮件文本字段。我希望每个电子邮件字段的电子邮件都是唯一的。
附有屏幕快捷键。如果它们两个的电子邮件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支持它
答案 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);