0
비슷한 질문을 보았습니다. 불행히도 새로운 질문을하기 위해 작은 설명을 남기고 충분한 담당자가 없습니다.Node.js 양식 값은 항상 '정의되지 않음'을 반환합니다.
내 등록 양식에서 모든 항목이 비어있는 양식을 제출하더라도 정의되지 않은 유일한 필드이므로 항상 정의되지 않은 상태로 되돌아 오는 FirstName 및 LastName 값을 제출합니다. 여기 내 경로가
/routes/main.js
router.post('/register', function(req, res){
var firstName = req.body.FirstName;
var lastName = req.body.LastName;
var email = req.body.email;
var username = req.body.username;
var password = req.body.password;
var cpassword = req.body.cpassword;
//Validation
req.checkBody('firstName', 'First name is required!').notEmpty();
req.checkBody('lastName', 'Last name is required!').notEmpty();
req.checkBody('email', 'E-mail is invalid!').isEmail();
req.checkBody('username', 'Username is required!').notEmpty();
req.checkBody('password', 'Password is required!').notEmpty();
req.checkBody('cpassword', 'Passwords do not match!').equals(password);
var errors = req.validationErrors();
if(errors){
res.render('register', {
errors: errors
});
console.log('there are form errors');
console.log(errors);
console.log(firstName);
console.log(lastName);
} else {
console.log('no errors');
}
및 마크 업 폴더입니다
<h2>Student Registration</h2>
<form method="post" action="/register">
<div class="form-group">
<label for="">First Name</label>
<input type="text" class="form-control" placeholder="First Name" name="FirstName">
</div>
<div class="form-group">
<label for="">Last Name</label>
<input type="text" class="form-control" placeholder="Last Name" name="LastName">
</div>
<div class="form-group">
<label for="">Username</label>
<input type="text" class="form-control" placeholder="Username" name="username">
</div>
<div class="form-group">
<label for="">E-mail</label>
<input type="text" class="form-control" placeholder="email" name="email">
</div>
<div class="form-group">
<label for="">Password</label>
<input type="Password" class="form-control" name="password">
</div>
<div class="form-group">
<label for="">Confirm Password</label>
<input type="Password" class="form-control" placeholder="ConfirmPassword" name="cpassword">
</div>
<button type="submit" class="">Register</button>
</form>
정말로 나를 bewilders 것은 내가 그들을 CONSOLE.LOG 때 나는 처음과 마지막 이름 값을보고하고 있지만, 그들은 여전히 값을 가지고있다 정의되지 않음. 어떤 제안?
을 확인하고 있습니다.하지만 FirstName에 firstName을 지정하고 firstName을 확인하면 어떻게 될까요? –
req.body.firstName은 (는) 어디에 할당합니까? 첫 번째 이름을 새 변수에 지정하는 것으로 보았습니다 :'var firstName = req.body.FirstName;'. 그런 다음 본문의 유효성을 검사하면 유효성 검사가 새 변수에서 발생하지 않고 본문에서만 수행됩니다. –
당신의 제안이 효과가있었습니다 ... 나는 왜 변수가 039인지 확인하고 싶다면 왜 그런지 궁금했습니다. –