2013-09-23 32 views

回答

4

我想出如何與自定義變量的:validate屬性做到這一點:

(defun widget-positive-integer-validate (widget) 
    (let ((v (widget-value widget))) 
    (if (natnump v) 
     ;; Valid 
     nil 
     ;; Invalid 
     (widget-put widget :error "This field should contain a positive integer") 
     widget)))) 

(defcustom positive-integer-var 5000 
    "This variable must be a positive integer." 
    :type '(integer :value 5000 
        :validate widget-positive-integer-validate)) 
1

您可能還需要使用受限SEXP爲:類型。

:type `(restricted-sexp 
     :match-alternatives 
     (,(lambda (v) (and (natnump v) (/= v 0)))))) 

muede

+0

請問如果用戶將負整數或字符串或其他任何這給出錯誤提示信息? –

相關問題