![](/img/trans.png)
[英]How to use JSON Model Property as path for OData v4 List Binding in UI5
[英]How to use constrains property for Input in UI5?
我试图限制用户仅输入数字。 也许我可以使用正则表达式来做到这一点,但我不知道确切的语法。 我不要小数或特殊字符。
<Input type="Number"
value="{
type : 'sap.ui.model.type.Number',
constraints : {
minLength: 1,
maxLength: 15,
validate: ...
}
}" />
sap.ui.model.type.Number不存在,但Integer和Float存在。
<Input
type="Number"
value="{
path: '/number',
type: 'sap.ui.model.type.Integer',
formatOptions: {
groupingEnabled: false,
groupingSeparator: ',',
decimalSeparator: '.'
},
constraints : {
minimum: '0',
maximum: '99'
}
}" />
我认为整数类型正是您所需要的。 只有整数是有效的,默认情况下没有分组,小数或其他字符。 您可以使用SAPUI5的错误处理功能来警告用户是否输入了无效的条目。
如果要防止输入无效字符,则可以使用屏蔽的输入控件。 例如:
<MaskInput
mask = "999999"
placeholderSymbol = "_"
placeholder = "Enter a six digit number"/>
但是,就我个人而言,我发现常规数字有点难看。 掩码输入控件实际上是指遵循某些模式的输入值,例如信用卡号或邮政编码。
<Input type="Number"
接受数字,但是如果您仍要实现自己的验证,则可以按照以下仅考虑数字的正则表达式进行操作:
定义regex
:
regex = /^[0-9]*$/;
将liveChange
添加到您的输入
liveChange: function(oEvent){
if(oEvent.getParameter("liveValue") === ""
|| !oEvent.getParameter("liveValue").match(regex)){
this.setValueState(sap.ui.core.ValueState.Error);
}
else{
this.setValueState(sap.ui.core.ValueState.Success);
}
}
如果将输入类型限制为Number
,则不允许(特殊)字符输入输入字段。 但是,允许使用数字相关的字符( .,-
)。 要摆脱它,可以将属性绑定的数据类型设置为sap.ui.model.type.Integer
。 您还可以设置minLength
, maxLength
等约束。 如果用户输入2.1
,则将引发验证错误,并且输入字段值状态将设置为Error。
<Input type="Number"
value="{
type : 'sap.ui.model.type.Integer',
constraints : {
minLength: 1,
maxLength: 15
}
}" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.