글 수정에 validation 체크 넣기

이 코드 오류나는 이유가?
대입연산자를 써야하는데 ( == )
할당연산자를 썼음 ( = )
우여곡절 끝에 글 수정 validation 성공
function update(id) {
let data = $("#updateFrm").serialize();
console.log("frm serialize하면 값이 원하는데로 나오나? : " + data);
let title = $("#title").val();
let content = $("#content").val();
console.log("title", title)
console.log("content", content)
if(title == null || title == "") {
alert("제목을 입력하세요.");
return;
} else if(content == null || content == "") {
alert("내용을 입력하세요.");
return;
}
$.ajax({
type : "PUT",
url : "/updateProc",
data : data,
contentType : "application/x-www-form-urlencoded; charset=utf-8",
// contentType : json으로 잘못 넣으면 바로 글 수정실패뜸
dataType : "text"
}).done(function(resp) {
console.log(resp);
if (resp == 1) {
alert("글 수정 성공");
location.href = "/detail/" + id;
} else {
alert("글 수정 실패");
}
}).fail(function(error) {
alert("서버 문제");
});
일단 onSubmit에 return validate() 넣어서 하는 방법은 폼 전송 방식에서만 되고
JS전송 방식은 안 먹힘 (submit을 안쓰니까), 그리고 id가 두개 있어서 못 찾는 버그가 있었는데 찾아서 해결했고 이제 하고싶은 것은 관심사를 분리해서 update 메소드에 validate메소드를 쓰면서 리팩토링을 해보고 싶은데 못하겠다
메소드 안에 하면 조건문에 return이 발동되서 메소드가 나가져서 해결할 수 있는데 메소드를 한 개 더 쓰면 그게 안 먹히니까 그게 고민임.
리팩토링 성공함
// ajax update 로직 정리할 것.
let validation = null;
function update(id) {
let data = $("#updateFrm").serialize();
console.log("frm serialize하면 값이 원하는데로 나오나? : " + data);
validation = true;
validate();
console.log("validation 값", validation);
if(validation == false) {
alert("문제있음");
return;
}
$.ajax({
type : "PUT",
url : "/updateProc",
data : data,
contentType : "application/x-www-form-urlencoded; charset=utf-8",
// contentType : json으로 잘못 넣으면 바로 글 수정실패뜸
dataType : "text"
}).done(function(resp) {
console.log(resp);
if (resp == 1) {
alert("글 수정 성공");
location.href = "/detail/" + id;
} else {
alert("글 수정 실패");
}
}).fail(function(error) {
alert("서버 문제");
});
}
////////////////////////
function validate() {
let title = $("#title").val();
let content = $("#content").val();
console.log("title", title)
console.log("content", content)
if (title == null || title == "") {
alert("제목을 입력하세요.");
validation = false;
return;
} else if (content == null || content == "") {
alert("내용을 입력하세요.");
validation = false;
return;
}
return;
}
validation 변수를 전역변수로 설정해줘야 함 함수 두개에서 둘 다 참조할 수 있어야하니까