|
28.04.2010, 17:49
#36603810
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
спасибо за ссылку, не помогает.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108.
Method isValid() [ Language = javascript ]
{
var ret=true;
var reg = '';
var val = this.value;
if (val == '') return true;
if (this.oldInvalidMessage=='') this.oldInvalidMessage=this.invalidMessage;
if (this.minlength != '') {
if (this.minlength > val.length) {
this.invalidMessage = 'Количество символов в поле должно быть больше или равно ' + this.minlength;
return false;
}
}
if (this.maxlength != '') {
if (this.maxlength < val.length) {
this.invalidMessage = 'Количество символов в поле должно быть меньше или равно ' + this.maxlength;
return false;
}
}
/// разбор дополнительного шаблона
var strMSG = '';
if (this.patternDop != '') {
/// формирование строки для сообщения
strMSG = ' и символ' + (this.patternDop.length> 1 ? 'ы ': ' ');
for (i= 0 ; i<this.patternDop.length; i++) {
strMSG += '"';
strMSG += this.patternDop.charAt(i)!=' ' ? this.patternDop.charAt(i) : 'пробел';
strMSG += '"'
strMSG += this.patternDop.charAt(i+ 1 )!='' ? ', ' : '';
}
}
switch(this.patternType) {
case 'email':
this.invalidMessage = 'не корректный email';
reg = /^([ 0 -9a-z])+([.a-z0-9_-])+@([a-z0-9_-])+\.([a-z]){ 2 , 3 }$/i;
break;
case 'custom':
if (this.pattern == '') {
this.invalidMessage = 'не задана маска this.pattern=""';
return false;
break;
}
this.invalidMessage = 'не соответствует маске ' + this.pattern ;
reg = new RegExp(this.pattern);
break;
case '@N':
this.invalidMessage = 'поле должно содержать только цифры' + strMSG;
if (this.patternDop=='') reg = /^\d+$/g;
else reg = new RegExp('^[0-9'+this.patternDop+']+$');
break;
case 'lat':
this.invalidMessage = 'поле должно содержать только буквы латинского алфавита' + strMSG;
reg = new RegExp('^[a-zA-Z' + this.patternDop + ']+$');
break;
case 'lat(U)':
this.invalidMessage = 'поле должно содержать только заглавные буквы латинского алфавита' + strMSG;
reg = new RegExp('^[A-Z' + this.patternDop + ']+$');
break;
case 'lat(L)':
this.invalidMessage = 'поле должно содержать только прописные буквы латинского алфавита' + strMSG;
reg = new RegExp('^[a-z' + this.patternDop + ']+$');
break;
case 'lat_@N':
this.invalidMessage = 'поле должно содержать только буквы латинского алфавита, цифры' + strMSG;
reg = new RegExp('^[a-zA-Z0-9' + this.patternDop + ']+$');
break;
case 'rus':
this.invalidMessage = 'поле должно содержать только буквы русского алфавита' + strMSG;
reg = new RegExp('^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя' + this.patternDop + ']+$');
break;
case 'rus(U)':
this.invalidMessage = 'поле должно содержать только заглавные буквы русского алфавита' + strMSG;
reg = new RegExp('^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ' + this.patternDop + ']+$');
break;
case 'rus(L)':
this.invalidMessage = 'поле должно содержать только прописные буквы русского алфавита' + strMSG;
reg = new RegExp('^[абвгдеёжзийклмнопрстуфхцчшщьыъэюя' + this.patternDop + ']+$');
break;
case 'rus_@N':
this.invalidMessage = 'поле должно содержать только буквы русского алфавита, цифры' + strMSG;
reg = new RegExp('^[АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя0-9' + this.patternDop + ']+$');
break;
case 'telephon':
this.invalidMessage = 'поле должно содержать только цифры или цифры, введенные в формате #-##-##, ##-##-##, ###-##-##';
reg = new RegExp('^[0-9]{1,3}-[0-9]{2}-[0-9]{2}|^[0-9]+$');
//reg = new RegExp('^[0-9]{1,3}-[0-9]{2}-[0-9]{2}$|^[0-9'+this.patternDop +']+$/g');
break;
case 'mobTel':
this.invalidMessage = 'поле должно быть введено в формате [+код страны: 1-4 цифры](код региона: 3 цифры)местный номер: ###-####';
reg = /^(\+\d{ 1 , 4 }){ 1 }\(\d{ 3 }\)\d{ 3 }-\d{ 4 }|^\(\d{ 3 }\)\d{ 3 }-\d{ 4 }$/;
break;
case 'rusCountryTel':
this.invalidMessage = 'поле должно быть введено в формате: 8(код города: 1-5 цифр)местный номер: ###-##-##, ##-##-##, #-##-##';
reg = /^ 8 \(\d{ 3 }\)\d{ 3 }-\d{ 2 }-\d{ 2 }|^ 8 \(\d{ 4 }\)\d{ 2 }-\d{ 2 }-\d{ 2 }|^ 8 \(\d{ 5 }\)\d{ 1 }-\d{ 2 }-\d{ 2 }$/;
break;
default:
return true;
break;
}
//var a=reg.test(val)
//alert(reg+'\nreg.test(val)='+a+'\nval='+val)
if (!reg.test(val)) return false;
if (this.oldInvalidMessage!=this.invalidMessage) this.invalidMessage=this.oldInvalidMessage;
//if (this.onvalidate) ret=zenInvokeCallbackMethod(this.onchange,this,'onchange');
return ret;
}
вот метод из кастом-компонента
как такое локализовать?
|
|
|