String

如何確保函式的字元串參數不為空?

  • March 4, 2022

假設我有一個需要兩個字元串參數的函式,

function data(string memory _firstname, string memory _lastname) public {
buyer[msg.sender] = Buyer(_firstname, _lastname);
}

現在,我想確保使用者沒有將兩個欄位中的任何一個都留空。我該怎麼做 ?

在此特定功能中,您可以使用以下驗證:

require(_firstname.length && _lastname.length, "There is empty string passed as parameter.");

這只是檢查字元串中是否至少有一個符號,如果您想驗證最大符號長度,則必須將其添加為條件。

require(bytes(_firstname).length >0, "First name cannot be left empty");
require(bytes(_lastname).length >0, "Last name cannot be left empty");

但是,我仍然想讓它成為一行程式碼!

引用自:https://ethereum.stackexchange.com/questions/94011