Javascript 使用“validator”进行“Ext Js”表单字段验证
嗨,我对“Ext JS”非常陌生,大约4天,必须编辑“Ext JS”表单。该表单用于编辑现有条目。因此,我必须更新此表单中的“项目名称”字段,并需要遵循以下条件 用户可以使用旧项目名称old project提交表单 name表示加载表单时的项目名称 当用户从“建议”下拉列表中选择除旧项目名称之外的现有项目名称时,需要显示错误 此条件的基本思想是防止重复的项目名称 所以我试着用“验证器”来做这件事,但我找不到一种方法来比较旧的项目名称和新的项目名称 有什么方法可以比较这些值吗?? 是否有其他方法验证此字段??? 这就是我到目前为止所做的Javascript 使用“validator”进行“Ext Js”表单字段验证,javascript,extjs,Javascript,Extjs,嗨,我对“Ext JS”非常陌生,大约4天,必须编辑“Ext JS”表单。该表单用于编辑现有条目。因此,我必须更新此表单中的“项目名称”字段,并需要遵循以下条件 用户可以使用旧项目名称old project提交表单 name表示加载表单时的项目名称 当用户从“建议”下拉列表中选择除旧项目名称之外的现有项目名称时,需要显示错误 此条件的基本思想是防止重复的项目名称 所以我试着用“验证器”来做这件事,但我找不到一种方法来比较旧的项目名称和新的项目名称 有什么方法可以比较这些值吗?? 是否有其他方法验
_est.project.view.panel.updateprojectname.combox = function (projectdetails) {
var nstore = _est.project.view.panel.updateprojectnstore();
var combo = Ext.create('Ext.form.ComboBox', {
fieldLabel: _est.project.text.nameText,
store: nstore,
labelSeparator: ' ',
vtype: 'text',
afterLabelTextTpl: _est.afterLabelTextRequiredTpl,
msgTarget: 'side',
displayField: 'projectname',
valueField: 'projectname',
labelWidth: 130,
maxLength: 200
name: 'projectname',
allowBlank: false,
pageSize: true,
triggerAction: 'query',
autoSelect: true,
minChars: 0,
itemId : 'project-name-field',
value: Ext.htmlDecode(projectdetails.projectname),
hideTrigger: true,
anchor: '95%',
validator: function(oldValue) {
var existnstore = Ext.StoreMgr.lookup("ptoject-project-names-get-store");
if(existnstore){
var nstore = existnstore.findExact('projectname',oldValue);
if(nstore < 0){
return true;
}else{
return 'Job name already exist.';
}
}
},
listConfig: {
getInnerTpl: function () {
return '<a class="search-item">' +
'<span>{projectstate}</span>' +
'{projectname}' +
'</a>';
}
},
});
return combo;
}
对此有何建议或意见:提前谢谢。我更改了“验证器”功能,并为我完成了这项工作
validator: function(Value) {
var existname = projectdetails.projectname;
if(Value !== existname){
var existnamestore = Ext.StoreMgr.lookup("update-ptoject-project-names-get");
if(existnamestore){
var namestore = existnamestore.findExact('projectname',Value);
if(namestore < 0){
return true;
}else{
return 'Job name already exist. Please select different job name.';
}
}
}
return true;
}