Ошибка ввода на дисплее не работает
У меня есть одна страница 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">