验证属性限制当用户在文本表单中输入数据时被接受的内容。
inputRequired 属性表示是否要求用户在字段中填写数据。有效值为 no(缺省值)和 yes。
当属性值为 yes 时,如果用户未在字段中填写任何数据,则 EGL 运行时将显示一条消息,如有关字段属性 inputRequiredMsgKey 的内容所述。
属性 inputRequiredMsgKey 标识一条消息,如果字段属性 inputRequired 设置为 yes 并且用户未能在字段中填写数据时,将显示该消息。
消息表(包含消息的数据表)是在程序属性 msgTablePrefix 中标识的。有关数据表名的详细信息,请参阅 EGL 源格式的 DataTable 部件。
inputRequiredMsgKey 的值是一个字符串或文字,它与消息表中第一列的条目相匹配。
如果将数字键与期望字符键的消息表配合使用,则将把该数字转换为字符串。如果将字符串文字与期望数字键的消息表配合使用,则字符串中的值必须是带符号或无符号整数。
0123456789
有效值为 no(缺省值)和 yes。
此属性仅适用于字符字段。
0123456789abcdefABCDEF
有效值为 no(缺省值)和 yes。
此属性仅适用于字符字段。
minimumInput 属性指示要求用户在字段中填写的最小字符数(如果用户在字段中填写了任何数据的话)。缺省值是 0。
如果用户填写的字符数少于最小字符数,则 EGL 运行时将显示一条消息,如有关字段属性 minimumInputMsgKey 的内容所述。
消息表(包含消息的表)是在程序属性 msgTablePrefix 中标识的。有关表名的详细信息,请参阅 EGL 源格式的 DataTable 部件。
minimumInputMsgKey 的值是一个字符串或文字,它与消息表中第一列的条目相匹配。
如果将数字键与期望字符键的消息表配合使用,则将把该数字转换为字符串。如果将字符串文字与期望数字键的消息表配合使用,则字符串中的值必须是带符号或无符号整数。
needsSOSI 属性仅用于多字节字段(类型为 MBCHAR 的字段), 并指示当用户在 ASCII 设备上输入类型为 MBCHAR 的数据时,EGL 是否执行特殊检查。有效值为 yes(缺省值)和 no。此项检查确定是否可以正确地将输入转换为主机 SO/SI 格式。
此属性是很有用的,这是因为在转换期间将删除多字节字符串末尾的结尾空格,以允许在每个双字节字符子串两旁插入 SO/SI 定界符。为了正确地进行转换,对于多字节值中的每个双字节字符串,表单字段都必须至少有两个空格。
如果将 needsSOSI 设置为 no,则用户可以填写输入字段,在这种情况下,转换将截断数据而不发出警告。
如果可能在 z/OS® 或 iSeries™ 系统上使用用户在 ASCII 设备上输入的多字节数据,则将 needsSOSI 设置为 yes。
属性 typeChkMsgKey 标识一条消息,如果输入数据不适合于字段类型,则将显示该消息:
消息表(包含消息的表)是在程序属性 msgTablePrefix 中标识的。有关表名的详细信息,请参阅 EGL 源格式的 DataTable 部件。
typeChkMsgKey 的值是一个字符串或文字,它与消息表中第一列的条目相匹配。
如果将数字键与期望字符键的消息表配合使用,则将把该数字转换为字符串。如果将字符串文字与期望数字键的消息表配合使用,则字符串中的值必须是带符号或无符号整数。
在使用 validatorFunction 属性之前进行全部的检验,该属性指定一个验证函数,该验证函数完成跨值验证。
如果验证失败,则显示的消息取决于属性 validatorDataTableMsgKey 的值。
属性 validatorDataTableMsgKey(以前是 validatorTableMsgKey 属性)标识一个消息,如果用户提供的数据不符合验证器表(这是属性 validatorDataTable 中指定的表)的要求,则显示该信息。
消息表(包含消息的表)是在程序属性 msgTablePrefix 中标识的。有关消息表名的详细信息,请参阅 EGL 源格式的 DataTable 部件。
validatorDataTableMsgKey 的值是一个字符串或文字,它与消息表中第一列的条目相匹配。
如果将数字键与期望字符键的消息表配合使用,则将把该数字转换为字符串。如果将字符串文字与期望数字键的消息表配合使用,则字符串中的值必须是带符号或无符号整数。
基本检查先于验证器表的使用(如有关 validatorDataTable 属性的内容所述), 并且所有检查都先于 validatorFunction 属性的使用。由于验证器函数可以执行跨字段检查,并且这样的检查通常需要有效的字段值,所以,此事件顺序很重要。
validatorFunction 值是您编写的验证器函数。可以按以下方式编写该函数:不带参数,并且,如果该函数检测到错误,则它通过调用 ConverseLib.validationFailed 来请求重新显示表单。
如果在指定了两个系统函数的其中一个时验证失败,则显示的消息取决于属性 validatorFunctionMsgKey 的值。然而,如果当指定了您自己的验证器函数时验证失败,则函数不使用 validatorFunctionMsgKey,而是通过调用 ConverseLib.validationFailed 来显示消息。
消息表(包含消息的表)是在程序属性 msgTablePrefix 中标识的。有关表名的详细信息,请参阅 EGL 源格式的 DataTable 部件。
validatorFunctionMsgKey 的值是一个字符串或文字,它与消息表中第一列的条目相匹配。
如果将数字键与期望字符键的消息表配合使用,则将把该数字转换为字符串。如果将字符串文字与期望数字键的消息表配合使用,则字符串中的值必须是带符号或无符号整数。
validValues = arrayLiteral
validValues = [ [1,3], 5, 12 ] validValues = [ "a", ["bbb", "i"]]
// valid values are 1, 2, 3, 5, 7, 9, and 11 validValues = [[1, 3], 5, 7, 11] // valid values are the letters "a" and "z" validValues = ["a", "z"] // valid values are any string beginning with "a" validValues = [["a", "a"]] // valid values are any string // beginning with a lowercase letter validValues = [["a", "z"]]
如果用户的输入超出指定的范围,则 EGL 运行时将显示一条消息,如有关字段属性 validValuesMsgKey 的内容所述。
属性 validValuesMsgKey(以前是 rangeMsgKey 属性)标识一条消息,如果设置了字段属性 validValues 并且用户在字段中填写了超出范围的数据,则将显示该消息。
消息表(包含消息的表)是在程序属性 msgTablePrefix 中标识的。有关表名的详细信息,请参阅 EGL 源格式的 DataTable 部件。
validValuesMsgKey 的值是一个字符串或文字,它与消息表中第一列的条目相匹配。
如果将数字键与期望字符键的消息表配合使用,则将把该数字转换为字符串。如果将字符串文字与期望数字键的消息表配合使用,则字符串中的值必须是带符号或无符号整数。
此属性仅适用于数字字段。
相关概念
文本表单