У меня есть простой веб-интерфейс, в котором я могу выбрать определенный рынок, цену, цели и стоп-лосс для личной криптовалютной сделки на бирже.
Я добавил некоторые правила проверки по умолчанию, некоторые из нихотображаются на веб-интерфейсе, как они должны, но, в частности, один из них не срабатывает, когда он срабатывает, потому что, когда я проверяю ошибку 422
POST
, она появляется в ответе.
Здесьформа показывает ошибки, за исключением части стоп-лосса, но ошибка стоп-лосса не отображается на веб-интерфейсе:
Я упростил правило, чтобы иметь только «требовать» дляв целях тестирования, также с большим количеством правил это не работает. правила:
'market' => 'required',
'trade_value' => 'required|numeric|min:10',
'limit-price' => 'sometimes|min:1|numeric',
'stop-price' => 'required',
ответ возврата из 422 POST (laravel создает это?):
{
"message":"The given data was invalid",
"errors":{
"market":[
"The market field is required."
],
"limit-price":[
"The limit-price must be at least 1.",
"The limit-price must be a number."
],
**"stop-price":[
"The stop-price field is required."
]**
}
код формы для запроса (я удалил некоторые элементы div, которые не участвуют впредмет):
<form method="POST" action="/trades" accept-charset="UTF-8" novalidate="" class="ajax-form"><input name="_token" type="hidden" value="sdgsdge563456">
<!-- Default box -->
<div class="card ">
<div class="card-header with-border" style="display:none;">
<div class="float-left">
</div>
<div class="card-tools float-right">
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-12">
<div class="form-group required-field "><label for="market">Market</label><select class="form-control " id="market" name="market"><option selected="selected" value="">Select Market ...</option><option value="btc-perpetual">BTC-PERPETUAL</option><option value="eth-perpetual">ETH-PERPETUAL</option></select></div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="card-footer" style="display:none;">
</div>
<!-- /.box-footer-->
</div>
<!-- /.box -->
<!-- Default box -->
<div class="card ">
<div class="card-header with-border" style="display:none;">
<div class="float-left">
</div>
<div class="card-tools float-right">
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-12">
<div class="form-group required-field "><label for="trade_value">Trade Value</label><div class="input-group "><input class="form-control " placeholder="Trade Value" id="trade_value" name="trade_value" type="number" value="10"><div class="input-group-addon input-group-append"><div class="input-group-text">USD</div></div></div></div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="card-footer" style="display:none;">
</div>
<!-- /.box-footer-->
</div>
<!-- /.box -->
<!-- Default box -->
<!-- /.box -->
<!-- Default box -->
<div class="card ">
<div class="card-header with-border" style="display:none;">
<div class="float-left">
</div>
<div class="card-tools float-right">
</div>
</div>
<div class="card-body">
<div class="entrytype entrylimit">
<div class="row">
<div class="col-12">
<div class="form-group required-field "><label for="limit-price">Price</label><div class="input-group "><input class="form-control " placeholder="Price" id="limit-price" name="limit-price" type="number"><div class="input-group-addon input-group-append"><div class="input-group-text">USD</div></div></div></div>
</div>
</div>
</div>
</div>
<!-- /.box-body -->
<div class="card-footer" style="display:none;">
</div>
<!-- /.box-footer-->
</div>
<!-- /.box -->
</form>```