#javascript #extjs
#javascript #extjs
Вопрос:
У меня есть этот код ниже, и я где-то видел в Интернете, но он работает только с одним заголовком или строкой. существует.
Я хотел бы, чтобы, если существуют две строки, они будут проверены. Допустим, у меня есть заголовок имени и даты, если данные имени и даты были дублированными, это вызовет сообщение проверки дубликат данных не может быть сохранен
var duplicated = function(store, number, value)
{
var found = false;
store.each(function(record)
{
if(found = (record.data[number]==value) ? true : false){return false};
}
)
return found;
}
Я пытался манипулировать этим фрагментом кода, но больше не могу.
Я все еще не могу понять это. Если две данные в строках уже существуют, и если они будут сохранены, они будут проверены, потому что в них есть две повторяющиеся строки (а также две повторяющиеся данные, как указано выше).
Комментарии:
1. Возможно, вам следует создать образец скрипки. fiddle.sencha.com
Ответ №1:
Если вам нужно проверить уникальные пары имя дата, добавьте валидаторы в свои редакторы:
columns: [
{text: 'Name', dataIndex: 'name', getEditor: function(record) {
return {
xtype: 'textfield',
validator: function (val) {
const errMsg = 'Not unique';
let isExist = false;
store.each(function(rec){
if(rec.get('name') === val amp;amp; record.get(date) === rec.get('date')){
isExist = true;
return false;
}
});
return val amp;amp; !isExist ? true: errMsg ;
}
}
}
},{text: 'Name', dataIndex: 'name', getEditor: function(record) {
return {
xtype: 'datefield',
validator: function(val) {
const errMsg = 'Not unique';
let isExist = false;
store.each(function(rec){
if(rec.get('date') === val amp;amp; record.get(name) === rec.get('name')){
isExist = true;
return false;
}
});
return val amp;amp; !isExist ? true: errMsg ;
}
}
}
}
]
Вы можете переделать это более красиво, но надеюсь, что идея понятна.