以下是我的Controller Action方法。您可以看到我在将数据保存到数据库
之前通过了一个请求类的参数进行验证public function store(RoleRequest $request)
{
}
我的请求课程如下。
class RoleRequest extends Request
{
private $Role;
public function __construct(IRole $_role) {
$this->Role = $_role;
}
public function authorize()
{
return true;
}
public function rules()
{
return [
'Role' => 'required|max:20|min:4,
];
}
}
当我通过网页(刀片)运行时,上面的代码非常有效。
我为API发送另一个控制器来发送保存请求。以下是代码
class RoleApiController extends Controller
{
public function store(RoleRequest $request)
{
}
}
问题来了,当我只输入1个字符作为角色名称而Request类强制验证时我收到404错误这次我发送了Chrome中Postman Extension的请求。
错误详情
答案 0 :(得分:2)
验证var $messages = $('.messages-content'),
d, h, m,
i = 0;
$(window).load(function() {
$messages.mCustomScrollbar();
setTimeout(function() {
fakeMessage();
}, 100);
});
function updateScrollbar() {
$messages.mCustomScrollbar("update").mCustomScrollbar('scrollTo', 'bottom', {
scrollInertia: 10,
timeout: 0
});
}
function setDate(){
d = new Date()
if (m != d.getMinutes()) {
m = d.getMinutes();
$('<div class="timestamp">' + d.getHours() + ':' + m + '</div>').appendTo($('.message:last'));
}
}
function insertMessage() {
msg = $('.message-input').val();
if ($.trim(msg) == '') {
return false;
}
$('<div class="message message-personal">' + msg + '</div>').appendTo($('.mCSB_container')).addClass('new');
setDate();
$('.message-input').val(null);
updateScrollbar();
setTimeout(function() {
fakeMessage();
}, 1000 + (Math.random() * 20) * 100);
}
$('.message-submit').click(function() {
insertMessage();
});
$(window).on('keydown', function(e) {
if (e.which == 13) {
insertMessage();
return false;
}
})
var Fake = [
'Hi there, I\'m Fabio and you?',
'Nice to meet you',
'How are you?',
'Not too bad, thanks',
'What do you do?',
'That\'s awesome',
'Codepen is a nice place to stay',
'I think you\'re a nice person',
'Why do you think that?',
'Can you explain?',
'Anyway I\'ve gotta go now',
'It was a pleasure chat with you',
'Time to make a new codepen',
'Bye',
':)'
]
function fakeMessage() {
if ($('.message-input').val() != '') {
return false;
}
类检查您的请求是ajax请求还是正常请求。
如果这是正常请求,它会:Request
在会话中显示验证消息。
如果是ajax请求,则会显示一个带有验证消息的json对象。
前端框架/库(例如jQuery)为ajax请求添加一个标头,让后端知道它是一个ajax请求。 Laravel会检查此标头以决定要执行的操作(使用redirect()->back()
或isAjax
方法)。
Postman不会自动发送此标题。因此,您应手动添加以下标题之一:
wantsJson
以下是邮递员的截图: