Strust2的sx:datetimepicker限制日期選擇

兩種方式:
方法一 :在action裏進行判斷
效果一
界面datetimepicker代碼(check.jsp)

<sx:datetimepicker name="birth30545" type="date" disabled="yyyy-MM-dd" label="生日" required="true"/>

action判斷代碼

import com.opensymphony.xwork2.ActionSupport;
public class T32CheckAction0545 extends ActionSupport{
private Date birth30545;
public Date getBirth30545() {
		return birth30545;
	}
	public void setBirth30545(Date birth30545) {
		this.birth30545 = birth30545;
	}
public String execute()throws Exception{ 
		  int t=1;
		  if(t==1)
			 return "success";
		  else
			  return "input";
		 } 
		 public void validate(){
//下面是主要判斷代碼,上面寫那麼多主要是怕小白看不明白
	   java.util.Date nowdate=new java.util.Date();	  		
	   if(getBirth30545()==null){
		   this.addFieldError("birth30545", "請填寫日期");
		   }
	   else{ 
		   boolean flag = getBirth30545().before(nowdate);
	       if(!flag)
	    	   this.addFieldError("birth30545", "不能填寫以後的日期");	 
	       } 
	   }
}

strust.xml配置(這裏特別特別注意,我當時栽這個坑裏1個小時沒爬上來。。。
注意input這個result一定是指向datetimepicker所在的頁面,因爲我們的錯誤提示信息要在datetimepicker附近顯示!)

<action name="check32" class="s1.T32CheckAction0545" method="execute">
          <result name="success">/success.jsp</result>
          <result name="input">/check.jsp</result>
          </action>

好了Action判斷就這麼多(纔不是就這麼多,這簡直是非常多!!!!但是老師讓這樣寫我又有什麼辦法(手動狗頭)(๑╹◡╹)ノ""")

方法二 :讓未來日期變得不能選擇
在這裏插入圖片描述
我們只要在標籤里加一個endDate=“2020-3-21”,是不是豁然開朗!!!
但是!寫成死值顯然不是我們IT界的camp作風~
二話不說,改!於是它就出現了
endDate=“new java.util.Date()”
想要成功一個字母都不能少嗷。

<sx:datetimepicker name="u.birth30545" type="date" endDate="new java.util.Date()" disabled="yyyy-MM-dd" label="生日" required="true"/>

回過頭來再看方法一簡直傷腦筋。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章