我是新手。所以我需要你的一点帮助。单击搜索按钮时,如何验证日期字段。这是我的源代码。
这是我的搜索按钮代码
public search() {
debugger
console.log(this.searchPhraseDate)
let searchPhrase :any = (this.searchCriteria == "Keyword" || this.searchCriteria == "ReferenceNumber")? this.searchPhrase : this.searchPhraseDate
if (searchPhrase != "" && this.selectedWorkflow.workflowName != null) {
this.searchResults.length = 0
this.allSearchResults = null
this.isZeroResults = false
this.searchMessage = "Searching..."
this.showNoResultPannel = true
// debugger
if (this.searchCriteria == "Keyword") {
console.log("CHECKED KEYWORD")
this.KeywordSearch(searchPhrase)
}
else if (this.searchCriteria == "ReferenceNumber") {
console.log("CHECKED REFERENCENUMBER")
this.SearchByReferenceNumber(parseInt(searchPhrase))
}
else {
console.log("CHECKED DATE")
this.SearchByInitiateDate(searchPhrase)
}
}
else{
var alertString = this.translate.store.translations[this.translate.defaultLang].search.searchPhaseEmptyAlert;
if(this.searchCriteria == "Keyword"){
alert("Please Enter a Keyword");
}else if(this.searchCriteria == "ReferenceNumber"){
alert("Please Enter a Referece Number");
}
****else if(this.searchPhraseDate == ""){
alert("Please Enter a Date");
}
else{
alert("Invalid Date Format");
}****
}
}
这是我的搜索日期方法的源代码
public SearchByInitiateDate(initiateDate:Date){
this.apiService.SearchByInitiateDate(this.selectedWorkflow.id, initiateDate).subscribe((result: any) => {
if (result != null) {
this.allSearchResults = result
this.allSearchCount = this.allSearchResults.length
this.maxPageNumber = Math.ceil(this.allSearchCount / 10)
this.configureSearchResults(1)
this.isZeroResults = false
this.showNoResultPannel = false
}
else {
this.showNoResultPannel = true
this.isZeroResults = true
this.searchMessage = "No Search Results..."
}
})
}
答案 0 :(得分:1)
您可以使用Date.Parse({string})
函数https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/parse。
无效的日期将返回NaN
。
const prasedDate = Date.Parse(searchPhrase)
if (!isNaN(prasedDate)) {
console.log("CHECKED DATE")
this.SearchByInitiateDate(searchPhrase)
}
或者,momentJs库对于处理日期非常有用,您甚至可以指定要解析的预期格式:https://momentjs.com/docs/#/parsing/string-format/