Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have created a simple script tool which has a single parameter of type "String". I have written the tool validation to disable the input field (simply trying to learn tool validation). The validator code is as follows:

class ToolValidator:

  def __init__(self):
    import arcpy
    self.params = arcpy.GetParameterInfo()

  def initializeParameters(self):
    self.params[0].Enabled = 0

  def updateParameters(self):

  def updateMessages(self):

Unfortunately, when I open the tool, the field is not disabled (as I expect it should be). Any ideas what I'm missing?

SOLUTION: In case it's not clear in the threads below. The solution to the issue was to change Enabled to enabled, which is a case change between ArcGIS 9.3 and 10.0. This capitalization works correctly both in the initializeParameters method and the updateMessages method.

share|improve this question
up vote 3 down vote accepted

I think you are putting it in the wrong spot. This is how I've done it previously.

def updateMessages(self):
    self.params[0].enabled = False
share|improve this answer
Thanks for the answer, but this didn't work either. – Caleb Jul 11 '12 at 19:20
Not even when changing it from Enabled to enabled (note case)? – Jason Scheirer Jul 11 '12 at 19:43
+1, just noticed that you are also using the lowercase enabled. – Chris Jul 11 '12 at 20:09
Yes, this is the solution. thanks all. love a good case switch between versions :). Jason, if you post your comment as an answer I'll accept it. – Caleb Jul 11 '12 at 20:16
I think this actually needs to go in updateParameters, not updateMessages. – blah238 Jul 11 '12 at 20:21

I was able to get it running by using enabled instead of Enabled.

Here is a link that lists all of the available params properties (they show lowerCamelCase for all of the properties): Programming a ToolValidator class

share|improve this answer
I just noticed +Jason Scheirer's comment. – Chris Jul 11 '12 at 20:07

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.