วันอังคารที่ 14 มีนาคม พ.ศ. 2560

Salesforce วิธีเช็คว่า String เท่ากับ ช่องว่าง, null บน Apex Class

[Apex class]

การตรวจสอบค่าใน Apex class controller

กำหนดให้รับค่า id มาเก็บไว้ในตัวแปรประเภท String(id)
String id;
id = System.currentPageReference().getParameters().get('id');  
ถ้าต้องการตรวจสอบค่าของ id ว่ามีค่าหรือไม่ เพื่อจัดการตัวแปร ใน Controller
if(id==''){
System.debug('Mode: create');
}elsle{
System.debug('Mode: edit');
}
จาก code ด้านบน เมื่อ id มีค่าเป็น "null" 
โปรแกรมจะไม่เข้าการทำงานในส่วนของ if แต่จะทำงานในส่วนของ else แทน

ดังนั้น วิธีการเช็ค empty('') value == '' ไม่สามารถใช้กับค่า null ได้นั่นเอง

ถ้าต้องการตรวจสอบค่า ทั้ง ช่องว่าง empty('') และ ค่า null เราสามารถใช้ function มาตราฐานที่ให้มาได้เลยครับ

isBlank();
if(String.isBlank(id)){
    System.debug('
Mode: create');
}else{
    System.debug('
Mode: edit');
}
ตัวอย่างโค๊คด้านบน แม้ว่าค่า id จะเป็น null ก็จะเข้าทำงานในส่วนของ if





Ref: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_string.htm