С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/75: Рейтинг темы: голосов - 75, средняя оценка - 4.59
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
1

Проверка на заполнение полей

14.03.2016, 21:22. Показов 13880. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создаю регистрационную форму для ввода логина и пароля не могу понять как сделать проверку полей, что бы если они пустые(не заполнены), то писало, мол вы не заполнили поля.
Java
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
 public void LogPass(){
        try {
            Class.forName("com.mysql.jdbc.Driver");
            String str="insert into emplyeeinfo(name, password)"+ " values(?,?)";
            con = javaconectDB.ConectDB(); 
            prep = con.prepareStatement(str);
            prep.setString(1, name.getText());
 
            prep.setString(2, password.getText());
 
         //   prep.execute();
 
                }catch (Exception e){
            System.out.println("ERRORRRR!!!");
        }
//        if(name==null || password==null){
//            aError.setText("Use all fields!!!");
//
//        }
    }
   
    public void aNext(ActionEvent actionEvent) {
        if (name.getText()==null | password.getText()==null){
            aError.setText("Use all fields!!!");
            }
    else {
 
        LogPass();
 
        }}
aNext это действие при нажатии на кнопку далее
name, password - TextField
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2016, 21:22
Ответы с готовыми решениями:

Проверка полей формы перед закрытием окна Swing
Добрый день, уважаемые коллеги :senor: Натолкните, пожалуйста, на мысль: как реализовать...

Проверка на заполнение полей
как сделать проверку на заполнение полей при нажатии на кнопку "Применить" на навигаторе...

Проверка полей на заполнение
Помогите решить задачу, я очень зеленый в этом деле а сроки жмут. Необходимо сделать проверку на...

Регистрация. Проверка на заполнение полей
Проблема в том что... 1. не выводит надпись с пустыми обязательными полями. 2. Не оставляет данные...

10
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
14.03.2016, 21:38 2
Java
1
2
3
4
5
6
7
8
9
10
String username = name.getText();
String password = password.getText();
 
if (isNullOrEmpty(username) || isNullOrEmpty(password)){
JOptionPane.showMessageDialog(null, "Please provide username and password.");
}
....
private boolean isNullOrEmmpty(String str){
   return str == null || str.trim().lenght() == 0;
}
1
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
15.03.2016, 09:31  [ТС] 3
Огромное спасибо работает, я бы не додумался

Добавлено через 35 минут
Вопрос в "догонку", а как сделать проверку на телефон? т.е. если вводят цифры или - +, то все ок, а если символы, то ошибка?

Добавлено через 28 минут
почитал инет на ск-ко я понял это относится к регулярным выражениям, завтра буду лопатить

Добавлено через 10 часов 4 минуты
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 if (isAllEmpty(name) || isAllEmpty(Lname) || isAllEmpty(Pn)) {
            aMessDialog.setText("WOW problem. Not all fields are filled");
        }
        Pattern phone=Pattern.compile("[a-zA-Zа-яА-Я]+");
        Matcher matcher=phone.matcher(Pn);
 
            while (matcher.find()) {
                    aMessDialog.setText("Number contain words!");
            }
        Pattern mail=Pattern.compile("@+");
        Matcher mE=mail.matcher(Ename);
 
        while (!mE.find()) {
            aMessDialog.setText("Enter Email realy !!!");
        }
Как эти условия заставить работать?
Если я все положу в один if все работает, но если я хочу сказать, что в номере телефона есть буквы, а в емайле ошибка, нет @, все висит
0
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
15.03.2016, 09:38 4
Это как вам ума хватило в while вставить. Бесконечный цикл.
0
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
15.03.2016, 09:50  [ТС] 5
я за утро и while и if и все в один лил все равно ((, да условие для емайла не рабочее

Добавлено через 7 минут
если я все лью в один if с разными условиями, то месседж пишет только последний минуя все предыдущие
0
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
15.03.2016, 10:02 6
Лучший ответ Сообщение было отмечено Huge как решение

Решение

Зачем всё в один IF?

Добавлено через 3 минуты
Почему нельзя сделать что-то типа:
Java
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
public static void main(String[] args) {
        String name = "name";
        String password = "password";
        String phone = "37120000000";
        String email = "zhiznj@tochka.net";
 
        if (isNullOrEmpty(name) || isNullOrEmpty(password)
                || isNullOrEmpty(phone) || isNullOrEmpty(email)) {
            System.out.println("Please fill all fields.");
            return;
        }
        if (validatePattern(phone, Pattern.compile("[0-9]+"))) {
            System.out.println("Phone is not valid.");
            return;
        }
 
        if (validatePattern(email, Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$"))) {
            System.out.println("Email is not valid.");
            return;
        }
    }
 
    public static boolean isNullOrEmpty(String str) {
        return str == null || str.trim().length() == 0;
    }
 
    public static boolean validatePattern(String str, Pattern pattern) {
        return !pattern.matcher(str).matches();
    }
1
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
15.03.2016, 10:05  [ТС] 7
Java
1
2
3
4
5
6
7
8
   if (isAllEmpty(name) || isAllEmpty(Lname) ) {
            aMessDialog.setText("WOW problem. Not all fields are filled");
                   
        if (isAllEmpty(Pn)||matcher.find()) {
            aMessDialog.setText("Number contain words!");
 
        if (isAllEmpty(Ename)||!mE.find()){
            aMessDialog.setText("Enter Email realy !!!");}}
что бы else запустилось, но даже если три разных пишет последний месседж сразу, даже если все поля голые

Добавлено через 1 минуту
у меня в else запуск добавления в БД, т.е. если все поля заполнены верно оно добавляет результат в БД
0
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
15.03.2016, 10:07 8
Лучший ответ Сообщение было отмечено Huge как решение

Решение

Я повторяю вопрос. Зачем вы всё в этот иф вставляепте? Он туда входит елси поля пустые. Делайте как я написал выше. Пошаговая валидация. Что-то не проваледировалось, сразу выходить, зачем проверять что-то дальше, если в начале что-то уже не так?

Добавлено через 1 минуту
Зачем в else? Боги мой. Читайте что я написал. В ДБ добавлять только в том случае, если все валидации прошли и всё. Без каких либо else.
1
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
15.03.2016, 11:45  [ТС] 9
Спасибо оказывается мой код тоже работал, но нужно было soutы прописать, тогда бы я понял где ошибаюсь.
Еще раз спс огромное

Добавлено через 2 минуты
В Вашем коде не понял

{2,}

Добавлено через 3 минуты
разобрался не менее 2-х раз

Добавлено через 1 час 20 минут
ну и, надеюсь, последний вопрос почему ELSE в этом коде ловит только последний IF?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public void aNext(ActionEvent actionEvent) throws SQLException {
        String sql = "select*from emplyeeinfo where name=?";
 
        prep = con.prepareStatement(sql);
        prep.setString(1, name.getText());
        ResultSet rs = prep.executeQuery();
 
        String username = name.getText();
        String pass = password.getText();
        if (isNullOrEmpty(username) || isNullOrEmpty(pass)) {
            aError.setText("Use all fields!!!");
        }
        if (rs.next()) {
            aError.setText("Login exist, pls change Name");
        }
        else {
            LogPass();
        CancelBtn(actionEvent);}
    }
0
238 / 237 / 142
Регистрация: 03.02.2011
Сообщений: 1,437
15.03.2016, 12:02 10
Потому что else есть только у посленего IF'a.
Третий раз спрашиваю. Зачем вы используете ELSE? Почему не сделать как я уже два раза писал? Если валидация не прошла, просто выходить из метода....
0
3 / 3 / 14
Регистрация: 26.01.2016
Сообщений: 481
15.03.2016, 22:59  [ТС] 11
да согласен, утро было, тупил трошки, сделал "комби", часть Вашего, часть своего оставил
все работает.
0
15.03.2016, 22:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2016, 22:59
Помогаю со студенческими работами здесь

Проверка на заполнение полей TextBox
Добрый день. Вот такой вопрос: есть форма, на ней 5 TextBox, как сделать проверку на заполнение...

Проверка на заполнение полей формы
Добрый день. На форме есть поля к заполнению .В процессе работы можно исключить некоторые поля к...

Проверка полей вебформы на заполнение текстом
Создал простую форму и принимаю данные на нее. работает Начал устанавливать валидатор на поля...

Вопрос по JavaScript (проверка на заполнение полей)
Здравствуйте. Сразу прошу прощения за, скорее всего, глупый вопрос, но в ЯваСкрипте все что знаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru