交互式PDF表单 - 验证Javascript

时间:2016-03-08 08:45:16

标签: javascript arrays validation pdf interactive

我试图验证我的互动PDF。因此,如果我点击一个按钮(用于验证),其后面的代码就是:

var isBlank = false;
var blank = "Please fill following fields:";
var isNotValid = false;
var notValid = "Please check input data in following fields:";
var message = "";

var t = ['Division', 'Oragnisationseinheit', 'Name', 'KZZ', 'Privataddresse'];
var i;

for(var i=0; i<t.length;i++){
  //validation text fields needs to be filled in
  if (this.getField(t[i]).value == "") {
   blank = blank + "\n" + this.getField(t[i]).name;
   isBlank = true;
  }

  //validation text field must contain only lower case letters
  if (/^[a-z]*$/.test(this.getField(t[i]).value) == false) {
   notValid = notValid + "\n" + this.getField(t[i]).name;
   isNotValid = true;
  }

  //generate message
  if (isBlank == true) {
   message = blank + "\n" + "\n";
  }
  if (isNotValid == true) {
   message = message + notValid;
  }
}
//check all conditions
if ((isBlank == true) || (isNotValid == true)) {
 //show message
 app.alert({ cMsg: message, cTitle: "Input data error" });
}

现在的问题是,如果我按下按钮就没有反应。 - &GT; var消息不会被显示。这个问题在哪里?

感谢所有想法。

1 个答案:

答案 0 :(得分:2)

您可以尝试添加自定义验证脚本,该脚本首先检查以确保该字段不为空,如果不是,只需将输入更改为小写,这样用户就不需要自己修改字段。

将以下代码添加到自定义字段验证脚本中。这适用于任何文本字段。

if (event.value.length == 0) {
    app.alert({ cMsg: event.target.name + " cannot be blank.", cTitle: "Input data error" });
}
else {
    event.value = event.value.toLowerCase();
}