Как управлять пользовательским сообщением об ошибке с помощью php - PullRequest
0 голосов
/ 24 июня 2018

Как я могу поставить пользовательское сообщение об ошибке с php? Сообщение x-moz-error прекрасно работает, но не так: oninvalid = "this.setCustomValidity.

// Formular erstellen
$Formular = $javascript . '
<br><p class="button_center"><a class="btn btn-primary" href="feedback_en.php">to the feedbacks</a></p>

<form name="Form" action="feedback_en.php?eintragen" method="post" accept-charset="UTF-8">
<p><br>
<label class="form-control-label">Your name
<input required="" oninvalid="this.setCustomValidity('Please fill this field.');" onchange="try{setCustomValidity('')}catch(e){};" x-moz-errormessage="Please fill the field!" type="text" class="form-control" name="name" value="' . $name . '" size="35" maxlength="35">
</label>
</p>
'

1 Ответ

0 голосов
/ 24 июня 2018

Избегайте окружающих апострофов в setCustomValidity('Please fill this field.'), чтобы PHP мог обрабатывать их как буквенные символы, а не как закрывающие / открывающие символы строки PHP.

Чтение Последовательности сброса .

Итак, правильно:

$Formular = $javascript . '... oninvalid="this.setCustomValidity(\'Please fill this field.\');" ...';

Если, например, вы пишете этот простой код PHP на странице test.php:

<?php

$myName = 'My name is 'Julie'.';

echo $myName;

, вы получите следующую ошибку:

Parseошибка: синтаксическая ошибка, неожиданное 'Julie' (T_STRING) в [path-to] /test.php в строке 3

Тогда как будет работать следующий код с экранированными апострофами:

<?php

$myName = 'My name is \'Julie\'.';

echo $myName;
...