是否可以自动显示错误消息?就像它在CodeIgniter中一样? 我有一个联系表单,如果它的验证错误我正在做:
@Override
public void onCreate()
{}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
new MyTask().execute();
return START_STICKY;
}
private class MyTask extends AsyncTask<Void, Void, String>
{
String textResult;
@Override
protected String doInBackground(Void... params) {
URL textUrl;
try {
textUrl = new URL(textSource);
BufferedReader bufferReader
= new BufferedReader(new InputStreamReader(textUrl.openStream()));
String StringBuffer;
String stringText = "";
while ((StringBuffer = bufferReader.readLine()) != null) {
stringText += StringBuffer;
}
bufferReader.close();
textResult = stringText;
return textResult;
} catch (MalformedURLException e) {
e.printStackTrace();
textResult = e.toString();
} catch (IOException e) {
e.printStackTrace();
textResult = e.toString();
}
return null;
}
@Override
protected void onPostExecute(String result) {
Log.d("DebugTag", "Value2: " + textResult);
super.onPostExecute(result);
STREAM_URL = result;
SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(BackgroundService.this);
String radio = sharedPreferences.getString("station", "8000");
if (radio != null && radio.equals("8000"))
{
STREAM_URL = "http://178.149.88.126:8000/";
}
if (radio != null && radio.equals("8010"))
{
STREAM_URL = "http://178.149.88.126:8010/";
}
if (radio != null && radio.equals("8020"))
{
STREAM_URL = "http://178.149.88.126:8020/";
}
if (radio != null && radio.equals("8030"))
{
STREAM_URL = "http://178.149.88.126:8030/";
}
mediaPlayer = new MediaPlayer();
try
{
mediaPlayer.setDataSource(STREAM_URL);
} catch (IOException e)
{
e.printStackTrace();
}
mediaPlayer.setOnCompletionListener(BackgroundService.this);
}
}
我的规则和我的领域:
return Redirect::to('/support/contact')
->with('message', 'Feedback must contain more than 5 characters. Try Again.');
是否可以根据我的字段制作自动消息?
我的控制器:
$rules = array (
'first_name' => 'required',
'email' => 'required|email',
'message' => 'required|min:5'
);
答案 0 :(得分:0)
完全容易做到。
一种方法是更改$ validator以使用另一组消息:
示例:
$validator = Validator::make($request->all(),
[
'first_name' => 'required',
'email' => 'required|email',
'message' => 'required|min:5'
],
[
'first_name.required' => 'First Name is required',
'email.required' => 'Email is Required.',
'email.email' => 'Not a valid email',
'message.max' => 'Message is Required.',
'message.min' => 'Message must me at least 5 characters.',
]
);
另一种方法是将消息作为第三个争论传递
$messages = [
'first_name.required' => 'First Name is required',
'email.required' => 'Email is Required.',
'email.email' => 'Not a valid email',
'message.max' => 'Message is Required.',
'message.min' => 'Message must me at least 5 characters.',
]
$validator = Validator::make ($data, $rules, $messages);
https://laravel.com/docs/5.4/validation#custom-error-messages
你可能还想检查验证器是否失败而不是成功,用以下代替if / else的东西,然后拥有“快乐路径”&#39;在方法的底部。
if ($validator->fails()) {
// Or do custom action here with $request, $validator
$this->throwValidationException(
$request, $validator
);
}