Нет необходимости отключать проверку даты jQuery (и это может вызвать другие проблемы). Вам просто нужно переопределить метод range
для $.validator
.
По умолчанию он работает с числовыми значениями (а затем возвращается к сопоставлению строк), поэтому вы можете добавить следующий скрипт ( после jquery.validate.js
и jquery.validate.unobtrusive.js
, но не завернуты в $(document).ready
$.validator.methods.range = function(value, element, param) {
if ($(element).attr('data-val-date')) {
var min = $(element).attr('data-val-range-min');
var max = $(element).attr('data-val-range-max');
var date = new Date(value).getTime();
var minDate = new Date(min).getTime();
var maxDate = new Date(max).getTime();
return this.optional(element) || (date >= minDate && date <= maxDate);
}
// use the default method
return this.optional( element ) || ( value >= param[ 0 ] && value <= param[ 1 ] );
};
. Затем вы можете использовать RangeAttribute
в своем свойстве
[Range(typeof(DateTime), "1/1/1966", "1/1/2020")]
public DateTime Date { get; set; }
Самый простой способ помочь с подробностями. Я сделаю вывод, что это связано со школой и постараюсь указать вам правильное направление. Наиболее полезно размещать воспроизводимые примеры, чтобы кто-то мог легко воссоздать настройку и устранить неполадки. Попробуйте использовать такие вещи, как gists или pastebin , если у вас длинные файлы.
Из вашего описания, я думаю, у вас есть:
Я думаю, что вы хотите взять список из n
последовательностей, перебрать целые числа в вашем файле key_nucleotide_position
целых чисел и извлечь элемент ith
из MyList
?
Давайте просто пройдемся по тому, что вы делаете, сначала увидев, как вы перебираете MyList
:
MyList = ['cttgaaat', 'attcggat', 'gtatcaag']
for value in MyList:
print(value)
cttgaaat
attcggat
gtatcaag
Предполагая, что число (скажем, 3
) хранится в переменной key_nucleotide_position
, вы делаете это с каждым цикл:
MyList = ['cttgaaat', 'attcggat', 'gtatcaag']
for value in MyList:
print(value[3])
Используя первое значение в MyList
, давайте посмотрим, что это делает:
'cttgaaat'[3]
g
Вы извлекаете символ ith
из строки в соответствии с целочисленный срез.
Из вопроса не совсем ясно, но я предполагаю, что вы можете изменить это и получить элемент ith
из списка , а не символ ith
в строке. [ 1130] [Тысяча сто тридцать одна] то есть. рассмотрим:
MyList[1]
'attcggat'
Теперь, чтобы ваш цикл for
циклически проходил таким образом, чтобы MyList[foo]
изменял foo
на то, что вы хотите в каждом цикле.