17.07.2015, 09:35
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 24
|
|
У вас рендер на сервере или в браузере?
в данном случае на сервере
часть атрибутов не во всех браузерах работает к сожалению, поэтому пусть будет колхозный но верный рендер, с area лично не связываюсь, беру только железно протестированный во всех браузерах bootstrap, мне бы это зло домучить и с js можно завязать, на все остальное хватает арсенала bootstrapa
kostyanet, здесь не только ошибки, здесь еще счетчик количества символов и очистка в случае ввода запрещенных символов с возможностью подключения и отключения в зависимости от поля
чтобы понятней http://citr.tk в поле "название" что-нибудь наберите, двойной клик очистить поле
Последний раз редактировалось ru_rikki, 17.07.2015 в 09:47.
|
|
17.07.2015, 09:37
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Ладно, тогда вместо
if (reg.test(element.value)) {
надо
if (valSet.reg.test(element.value)) {
|
|
17.07.2015, 09:40
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от ru_rikki
|
часть атрибутов не во всех браузерах работает к сожалению
|
Такие атрибуты как errmsg вообще нигде не работают, и что с того? Для того есть метод element.getAttribute('errmsg'); как и было в примере выше.
Не важно, все равно эта ваша функция - дикая лапша. Между тем вы сами, выше, заявили о желании что-то там цивилизовать.
Видите как быстро баттхерт может заставить захотеть одичать.
|
|
17.07.2015, 09:50
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от ru_rikki
|
с area лично не связываюсь
|
Что за area?
|
|
17.07.2015, 10:04
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 24
|
|
kostyanet, спасибо заработало, сейчас посмотрю ваш вариант, но плохо что сразу нельзя все в одной связке сделать и валидация и счетчик и очистка
сорри ARIA http://www.w3.org/TR/aria-in-html/ да и вообще вся эта расширенная семантика. Я не прогер мне надо просто сделать свою базу, А все эти навороты больше для какх-то онлайн игрушек подходят ИМХО конечно
|
|
17.07.2015, 10:22
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,124
|
|
Сообщение от ru_rikki
|
if (valSet.reg.test(element.value))
|
|
|
17.07.2015, 10:26
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 24
|
|
рони, да уже исправила)
Ах да забыла: какие риски использования ассоциативных массивов?
Последний раз редактировалось ru_rikki, 17.07.2015 в 10:29.
|
|
17.07.2015, 10:37
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Сообщение от ru_rikki
|
но плохо что сразу нельзя все в одной связке сделать и валидация и счетчик и очистка
|
Это потому что вы не прогер вам плохо, а прогерам очень плохо от таких вот кодов, как у вас, непрогреров.
Я показал лишь часть файла, этот объект сам только проверется, а рендером занимается контроллер, в который кидаются throw.
Никаких рисков нет, одни только бонусы. А вот какие бонусы дают фичи для инвалидов? Они что, начали активно тратить свои пенсии в интернете или статьи читать?
Последний раз редактировалось kostyanet, 17.07.2015 в 10:39.
|
|
17.07.2015, 10:45
|
Интересующийся
|
|
Регистрация: 25.02.2015
Сообщений: 24
|
|
"Это потому что вы не прогер вам плохо, а прогерам очень плохо от таких вот кодов, как у вас, непрогреров" ну что поделаешь... лень матушка... итак свой индусский код месяц переделывала, чтобы можно было задавать вопросы на php.ru) и тебе при этом не только отвечали но и понимали) лень и неохота, сделаю базу ... потом может как тех задание скину в какой-нибудь продвинутый центр разработки за деньги и сделаю шедевр, а так пракически невозможно описать что тебе конкретно нужно, итог один сайт глазами прогера, а не потребителя
|
|
17.07.2015, 10:49
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
В "контроллере" примерно такая система
var fields={}, /* здесь все те самые поля-объекты */
validate=function(e) { /* это самое и вешается на всякие там события у полей */
var f=fields[this.name];
if(f.error) { /* если уже был косяк то стереть */
f.el.title=f.title;
f.el.classList.remove('invalid');
f.error=null;
}
try {
f.validate();
}
catch(err) {
submit.disabled=f.error=true;
if(e.type!='input') { /* рендерит ошибку если сработало по событию, по вызову из скрипта - нет */
f.title=f.el.title;
f.el.title=err;
f.el.classList.add('invalid');
}
}
},
То есть весь рендер заключается в обвести поле красной рамкой и поменять его title чтоб чел мог подвести мышь и почитать что надо сделать.
Я проверял несколько дизайнов сообщений об ошибках и пришел к выводу что такой - самый лучший. Он кстати с нативным полностью совпадает как вы уже поняли.
Последний раз редактировалось kostyanet, 17.07.2015 в 10:55.
|
|
|
|