Sails.js에서 다음 Employee.js 모델을 테스트했는데 이해하기 어려운 것으로 나타났습니다.모델 유효성 검사가 Sails.js에서 실패합니다.
새 Employee를 생성하기위한 양식이 게시되면 Employee.js 모델의 첫 번째 정의에서 다음 오류가 발생하지만 Employee.js의 두 번째 정의가 작동합니다. Employee.js의 두 정의 사이의 차이점은 무엇입니까?
오류 :
Error (E_VALIDATION) :: 3 attributes are invalid
at WLValidationError.WLError (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/error/WLError.js:33:18)
at new WLValidationError (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/error/WLValidationError.js:20:28)
at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/query/validate.js:45:43
at allValidationsChecked (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/validations.js:195:5)
at done (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:135:19)
at /usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:32:16
at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/validations.js:186:14
at done (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:135:19)
at /usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:32:16
at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline/core/validations.js:157:64
Invalid attributes sent to Employee:
• name
• `undefined` should be a string (instead of "null", which is a object)
• "required" validation rule failed for input: null
• email
• `undefined` should be a email (instead of "null", which is a object)
• "required" validation rule failed for input: null
• password
• `undefined` should be a string (instead of "null", which is a object)
• "required" validation rule failed for input: null
정의 1 : Employee.js
module.exports = {
attributes: {
name: {
type: 'STRING',
},
email: {
type: 'STRING',
email: true,
},
password: {
type: 'STRING',
},
toJSON: function() {
var obj = this.toObject();
return {
name: obj.name,
email: obj.email,
password: obj.password
}
}
}
};
Definition2 : Employee.js
module.exports = {
attributes: {
name: 'STRING',
email: 'STRING',
password: 'STRING',
toJSON: function() {
var obj = this.toObject();
return {
name: obj.name,
email: obj.email,
password: obj.password
}
}
}
};
신입 사원을 만들기위한 형태는 다음과 같다 :는
<form action="/signupemployee" method="POST">
<table>
<tr><td>Name</td><td><input type=”text” name=”name”></td></tr>
<tr><td>Password</td><td><input type=”password” name=”password”></td></tr>
<tr><td>Email</td><td><input type=”email” name=”email”></td></tr>
<tr><td></td><td><input type="submit"></td>
</table>
</form>
경로와 컨트롤러의 모습을 무엇처럼? – CaseyWebb