-
Posts
1,770 -
Joined
-
Last visited
-
Days Won
9
Content Type
Profiles
Forums
Calendar
Store
Everything posted by cyklop77
-
а подскажите пожалуйста как директивы можно отвязать от имени скопа на примере jsfiddle . только совсем всё не переделывайте, пусть останется говнокод, но понятный
-
это не фидл. Как я там править буду? (в данном случае вряд ли буду =) аа точно. сорри директива phoneValidate не подключенаmessageValidate тоже и правда, это всё объясняет. ну я лошара
-
так есть же выше ссылка на фиддл у меня там поля валидируются без проблем, мне другое непонятно
-
помогите пожалуйста разобраться в ситуации при помощи angularjs навесил на форму валидацию. в целях отладки каждое действие сопровождается выводом в консоль сообщений: briefApp.directive('nameValidate', function() { return { link: function($scope, element, attrs, ctrl) { $scope.$watch('name', function(value){ console.log(11111); console.log($scope.brief_form_new.name_new.$valid + 'for name'); }); } };});briefApp.directive('phoneValidate', function() { return { link: function($scope, element, attrs, ctrl) { $scope.$watch('phone', function(value){ console.log(2223); console.log($scope.brief_form_new.phone_new.$valid + 'for phone'); }); } };});briefApp.directive('emailValidate', function() { return { link: function($scope, element, attrs, ctrl) { $scope.$watch('email', function(value){ console.log(333333); console.log($scope.brief_form_new.email_new.$valid + 'for email'); }); } };});briefApp.directive('messageValidate', function() { return { link: function($scope, element, attrs, ctrl) { $scope.$watch('message', function(value){ console.log(44444); console.log($scope.brief_form_new.message_new.$valid + 'for message'); }); } };});проблема в том, что я не понимаю почему: 1. после первой загрузки и отрисовки формы в консоль выводится только: 11111helper.js:19 falsefor namehelper.js:40 333333helper.js:41 falsefor emailхотя должно ещё и: 2. при каждом вводе(нажатие и отпускание клавиши) в поле "name" в консоль выводится: 11111helper.js:19 truefor nameно при каждом вводе в поле "phone" или "message" в консоль ничего не выводится. а должно выводиться: 2222или 44444
-
ой, кажется уже сам нашёл: phone_new: { "required": true, "pattern": /[-0-9 -()+]+$/ }
-
посоветуйте пожалуйста регулярное выраженеи для номера телефона. в интернетах их валом, но нет того которое мне нужно. мне нужно чтобы номер мог состоять из цифр, тире, проблема, круглых скобок. если важно, то я использую плагин jqueryvalidate. вот одна из моих попыток: phone_new: { "required": true, "pattern": /[-0-9\(\)]*/ }
-
помогите пожалуйста доработать валидацию формы здесь поле загрузки файла необязательное. но если пользователь всё таки загружает файл, то он проверяется(формат и максимальный размер в байтах). в результате проверки выводятся сообщения-подсказки. вывод сообщений-подсказок я реализовал, но они никак не связаны с отключением возможности отправить невалидную форму хотелось бы чтобы форма отправлялась после клика по submit при пустом поле загрузки файла. форма не отправлялась после клика на submit если на экране есть сообщения об ошибочном заполнении поля загрузки файла(несоответствующие размер файла и формат файла) var app = angular.module('showApp', []);app.controller('MainCtrl', function($scope) { $scope.name = 'World';});app.directive('checkFileSize', function() { return { link: function(scope, elem, attr, ctrl) { function bindEvent(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else { element.attachEvent('on' + type, handler); } } bindEvent(elem[0], 'change', function() { // check filesize if(this.files[0]){ if(this.files[0].size > 134217728){ angular.element(document.querySelector('#fileSizeError')).css({ 'display': 'inline' }); }else{ angular.element(document.querySelector('#fileSizeError')).css({ 'display': 'none' }); } // check fileformat var a = this.files[0].name.split('.'); var ext = a[a.length-1]; if(ext == 'txt' || ext == 'pdf' || ext == 'doc' || ext == 'docx' || ext == 'jpg' || ext == 'png' || ext == 'jpeg' || ext == 'flac'){ angular.element(document.querySelector('#fileFormatError')).css({ 'display': 'none' }); }else{ angular.element(document.querySelector('#fileFormatError')).css({ 'display': 'inline' }); } }else{ angular.element(document.querySelector('#fileFormatError')).css({ 'display': 'none' }); angular.element(document.querySelector('#fileSizeError')).css({ 'display': 'none' }); } }); } }});
-
помогите пожалуйста решить проблему есть форма. надпись "You break my heart" появляется сразу после отрисовки формы. но мне нужно чтобы сразу после отрисовки формы этой надписи не было. и чтобы она появлялась только после того как пользователь пробовал вводить текст <div ng-app=""> <form name="LovelyForm"> <input type="email" name="LovelyEmail" ng-model="email" required /> <br> <span ng-show="LovelyForm.LovelyEmail.$invalid">You break my heart</span> </form></div>
-
посоветуйте пожалуйста js-плагин, который имеет штатные методы проверки формата и размера загружаемого через форму файла. не jqueryvalidate
-
вот эта ситуация в фиддле проблема в том, что когда checkFileSize возвращает false , то выводится сообщение wrong format, но должно выводиться wrong filesize
-
аааа... понял. и запускать её перед запуском плагина. вариант. но сейчас я уже в азарт вошёл и хочу написать дополнительный метод к плагину. мой код выглядит так: $.validator.setDefaults({ invalidHandler: function(){ //console.log("not submitted!"); }, submitHandler: function(){ $( "#brief_form_new" ).submit(); //console.log("submitted!"); } }); $.validator.addMethod("checkFileSize",function(value) { // check filesize return false; }, "Размер файла превышен"); $().ready(function() { $("#brief_form_new_test").validate({ rules: { attachment: { required: false, checkFileSize: true, extension: "doc,docx,txt,pdf,jpg,jpeg,png" }, message_new: "required", name_new: "required", email_new: { required: true, email: true }, phone_new: "required" }, messages: { attachment: "Неверный формат файла", message_new: "Коротко опишите проект", name_new: "Введите ФИО", email_new: "Введите корректный адрес", phone_new: "Введите телефон" } }); });пока он возвращает false в любом случае. но проблема в том, что должно выводиться сообщение Размер файла превышен, а выводится почему так, кто подскажет?
-
найти размер файла это не проблема. проблема в том, что в плагин, который уже валидирует форму непонятно как встроить эту проверку
-
помогите пожалуйста советом есть страница с формой. форма валидируется популярным плагином jqueryvalidation . проблема в том, что нужно проверять размер загружаемого файла, а у этого плагина нет нужного функционала теоретически можно вставить проверку перед отправкой формы. но обработчик setDefaults имеет только invalidHandler и submitHandler $.validator.setDefaults({ invalidHandler: function(){ //console.log("not submitted!"); }, submitHandler: function(){ $( "#brief_form_new" ).submit(); //console.log("submitted!"); } }); $().ready(function() { $("#brief_form_new_test").validate({ rules: { attachment: { required: false, extension: "doc,docx,txt,pdf,jpg,jpeg,png" }, message_new: "required", name_new: "required", email_new: { required: true, email: true }, phone_new: "required" }, messages: { attachment: "Неверный формат файла", message_new: "Коротко опишите проект", name_new: "Введите ФИО", email_new: "Введите корректный адрес", phone_new: "Введите телефон" } }); });
-
кто-нибудь устанавливал на свой сайт мессенджер jivosite? на сайте, который я поддерживаю этот мессенджер предлагает вбить свой эмайл и отправить сообщение, но раньше окошко мессенжера само открывалось и предлагало пообщаться без свяких эмайлов скажите пожалуйста, значит ли это, что оператора нет на связи(как я понял, оператор устанавливает программку в свою ОС) и как только он подключится, то это окошко перестанет запрашивать эмайл?
-
обычно заказчики вообще не в курсе подобных тонкостей. и это в общем правильно ну тогда можно в целях лютой экономии байтов имена классам давать одной буквой. даже перфекционисты всегда придерживаются разумного баланса
-
пропорциональное изменение размера картинки в резиновом блоке
cyklop77 replied to cyklop77's question in HTML Coding
сейчас перепроверил и действительно одинаково работают. видимо, у меня глючил браузер -
пропорциональное изменение размера картинки в резиновом блоке
cyklop77 replied to cyklop77's question in HTML Coding
о да! вы меня спасли -
пропорциональное изменение размера картинки в резиновом блоке
cyklop77 replied to cyklop77's question in HTML Coding
нет, в этом решении невозможно сжать экран до хоть сколько-нибудь малого размера. да и пропорции меняются на промежутке в 100px -
пропорциональное изменение размера картинки в резиновом блоке
cyklop77 posted a question in HTML Coding
помогите пожалуйста решить проблему есть резиновый блок из 3 картинок. при уменьшении ширины окна браузера ширина картинок уменьшается, но высота не уменьшается. а хотелось бы чтобы при уменьшении ширины экрана ширина картинок уменьшалась и высота картинок тоже уменьшалась пропорционально ширине сервер отдаёт картинки в размере 290x145 px. но это можно изменить. использовать бутстрап и прочие фреймворки нельзя. использовать лёгкий нативный js можно, но не жалательно -
кроме того при желании можно из шрифта выбросить ненужное, если верстальщик такой перфекционист)
-
не согласен. в случае лого надпись должна 100% одинаково отображаться во всех браузерах. я обычно лого картинкой делаю
-
у меня в хроме обрезаются наполовину выпадашки, которые слева. сверху иконки при уменьшении ширины экрана наезжают на контент. это впечатления первых 3 секунд слабо для 2 лет. возможно, это результат отсутствия обмена опытом с коллегами. вариться в собственном соку не всем полезно кстати вот так ещё делают? -o-transition: 0.2s all;вроде опера давно на вебките. не?
-
вот это совсем удачное решение. calc работает даже под иос и андроид несмотря на то, что по справочнику не должен
-
Странно. У меня FF 35 и Хром размывают, другие не проверял. Сделано вроде с применением тех же свойств что и у вас, просто другие элементы размывались. ну я то известный криворук