作成日: 2018/07/06 最終更新日: 2018/07/06
文書種別
使用方法
詳細
標準のRequiredFieldValidatorコントロールを使用すると、SPREADのセルに全角/半角スペースのみを入力した場合、空白セルとしてエラーを検出できます。
しかし、RegularExpressionValidatorコントロールを使用して、例えば英数字のみ入力可能にするなどの制限を正規表現で実装した場合、セルに全角/半角スペースのみを入力した際にもエラーは検出されません。これはRegularExpressionValidatorコントロールの仕様です。
正規表現による入力制限を実装し、且つ全角/半角スペースのみの入力時にもエラーを検出するには、CustomValidatorコントロールを使用してValidateEmptyTextプロパティをTrueに設定し、クライアント側のスクリプトで検証を行ってください。
◎サンプルコード(VB)
◎サンプルコード(C#)
しかし、RegularExpressionValidatorコントロールを使用して、例えば英数字のみ入力可能にするなどの制限を正規表現で実装した場合、セルに全角/半角スペースのみを入力した際にもエラーは検出されません。これはRegularExpressionValidatorコントロールの仕様です。
正規表現による入力制限を実装し、且つ全角/半角スペースのみの入力時にもエラーを検出するには、CustomValidatorコントロールを使用してValidateEmptyTextプロパティをTrueに設定し、クライアント側のスクリプトで検証を行ってください。
◎サンプルコード(VB)
------------------------
Webフォームクラス
------------------------
Dim cValidator As CustomValidator = New CustomValidator
cValidator.ValidateEmptyText = True
cValidator.ClientValidationFunction = "ClientValidate"
cValidator.ErrorMessage = "英数字4桁で入力してください"
Dim tCell1 As FarPoint.Web.Spread.TextCellType = New FarPoint.Web.Spread.TextCellType
tCell1.MaxLength = 4
tCell1.Validators.Add(cValidator)
FpSpread1.ActiveSheetView.Columns(0).CellType = tCell1
------------------------------------
クライアント側スクリプト
------------------------------------
<script type="text/javascript">
function ClientValidate(source, arguments) {
if (arguments.Value.match("[a-zA-Z0-9]{4}")) {
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
Webフォームクラス
------------------------
Dim cValidator As CustomValidator = New CustomValidator
cValidator.ValidateEmptyText = True
cValidator.ClientValidationFunction = "ClientValidate"
cValidator.ErrorMessage = "英数字4桁で入力してください"
Dim tCell1 As FarPoint.Web.Spread.TextCellType = New FarPoint.Web.Spread.TextCellType
tCell1.MaxLength = 4
tCell1.Validators.Add(cValidator)
FpSpread1.ActiveSheetView.Columns(0).CellType = tCell1
------------------------------------
クライアント側スクリプト
------------------------------------
<script type="text/javascript">
function ClientValidate(source, arguments) {
if (arguments.Value.match("[a-zA-Z0-9]{4}")) {
arguments.IsValid = true;
} else {
arguments.IsValid = false;
}
}
</script>
◎サンプルコード(C#)
-------------------------------
Webフォームクラス
-------------------------------
CustomValidator cValidator = new CustomValidator();
cValidator.ValidateEmptyText = true;
cValidator.ClientValidationFunction = "ClientValidate";
cValidator.ErrorMessage = "英数字4桁で入力してください";
FarPoint.Web.Spread.TextCellType tCell1 = new FarPoint.Web.Spread.TextCellType();
tCell1.MaxLength = 4;
tCell1.Validators.Add(cValidator);
FpSpread1.ActiveSheetView.Columns[0].CellType = tCell1;
------------------------
クライアント側スクリプト
------------------------
※VBのサンプルコードと同様
Webフォームクラス
-------------------------------
CustomValidator cValidator = new CustomValidator();
cValidator.ValidateEmptyText = true;
cValidator.ClientValidationFunction = "ClientValidate";
cValidator.ErrorMessage = "英数字4桁で入力してください";
FarPoint.Web.Spread.TextCellType tCell1 = new FarPoint.Web.Spread.TextCellType();
tCell1.MaxLength = 4;
tCell1.Validators.Add(cValidator);
FpSpread1.ActiveSheetView.Columns[0].CellType = tCell1;
------------------------
クライアント側スクリプト
------------------------
※VBのサンプルコードと同様
旧文書番号
83027