Ошибка ввода на дисплее не работает

У меня есть одна страница Visualforce и компонент Visualforce с двумя классами Apex. Здесь я пытаюсь решить тот факт, что когда у меня пустое поле inputText, должно отображаться сообщение об ошибке. Сначала я ищу резервирование, а затем появляется это изображение, но если я пытаюсь отправить, оно должно показать следующее:

И когда я заполняю "motivo da reserva", он должен показывать всплывающее окно подтверждения, спрашивая, уверен ли я предоставить его:

Но я не могу заставить их работать в таком порядке.

Чтобы получить первый вывод, мне нужно иметь следующий код в части скрипта моего компонента: (Это функция, когда я нажимаю кнопку отправки)

function confirmRemoveAll() {
    if(!res.Motivo_da_Reserva__c != null){
        if(confirm('Do you want to confirm your reservation?')) {
            removeAll();
        }
    }
    return false;
}

с этим кодом у меня есть первое изображение, но всплывающее окно подтверждения никогда не происходит.

Когда код подтверждения находится только в условии if, я вижу, как он появляется, как показано на втором рисунке, но он никогда не показывает пустое сообщение об ошибке в качестве первого изображения... Код, как показано ниже:

function confirmRemoveAll() {

        if(confirm('Do you want to confirm your reservation?')) {
            removeAll();
        }

    return false;
}

Я гуглил и следовал многим инструкциям, чтобы появилось "пустое сообщение об ошибке". Я даже изменил свой апекс-код, добавив в него "if THIS_FIELD == NULL THEN add Error, например:

public PageReference Save(){
     if(String.isEmpty(res.Motivo_da_Reserva__c)){
            res.Motivo_da_Reserva__c.addError('You must enter a value.');
     }

Где res.Motivo_da_Reserva__c - это поле, которое "гипотетически" может быть пустым.

Чтобы завершить это понимание, я добавляю сюда код для кнопки, чтобы кто-то мог помочь мне, пожалуйста:

<apex:commandButton  value="Submeter Pedido de Reserva" action="{!Save}" onclick="return confirmRemoveAll();" />

<script>
function confirmRemoveAll() {
    //if(!res.Motivo_da_Reserva__c != null){
        if(confirm('Do you want to confirm your reservation?')) {
            removeAll();
        }
    //}
    return false;
}
</script> 

Это

<apex:component access="global" allowDml="true" controller="myController">

0 ответов

Другие вопросы по тегам