[英]Sencha Touch simple model validation matcher
我正在尝试验证应接受以下任一条件的简单文本字段:
数字0-100 或字母AF
需要说明的是,这是针对老师的评分作业,因此仅接受0-100和AF的分数(不包含特殊/非字母数字字符等)。
我似乎无法绕过reg exp和Sencha Touch匹配器。 我看过其他帖子,但它们不适用于我的问题。 谢谢。
我的模特:
Ext.define('App.model.EnterGradesModel',{
extend: 'Ext.data.Model',
alias: 'model.User',
config: {
fields: [
{
grade: 'grade'
}
],
validations: [
{
type: 'format',
field: 'grade',
matcher: //This is where I need the help ----- ,
message: 'Grade should be 0-100 or A-F'
}
]
}
});
我认为处理程序:
{
xtype: 'button',
width: 100,
text: "Save",
id: "saveMyGradeButton",
action: 'saveMyGrade',
handler : function() {
var model = Ext.create('App.model.EnterGradesModel', this.up('formpanel').getValues());
var errors = model.validate();
console.log(model);
if (errors.isValid()){
// Validation successful - fire grade event in controller
this.fireEvent('saveMyGrade', this);
} else {
// Validation failed
var data="";
console.log(data);
errors.each(function (item, index, length) {
data = data + '| '+ item.getField() + ' - ' + item.getMessage() + ' |';
});
Ext.Msg.alert("oops.", data);
}
}
}
此表达式将验证以下条件之一为真
^(?:100|[1-9]\\d|\\d|[AF])$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.